🎉 Celebrating 25 Years of GameDev.net! 🎉
Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!
I’m going to depart from my habit of posting predominantly technical stuff here, and write a bit about some issues that I find very important on a personal level. This is going to be more for my own benefit than anything else, but I truly hope that the exploration is helpful to someone out th…
It’s very common to hear engineers talking about "code reuse" - particularly in a positive light. We love to say that we’ll make our designs "reusable". Most of the time the meaning of this is pretty well understood; someday, we want our code to be able to be applied to some different use cas…
This weekend marks a major milestone for the development of the Epoch programming language. For the first time, Windows debuggers such as Visual Studio and WinDbg can perform source-level debugging on Epoch programs.
In a nutshell, this means that the comfortable modern development feature…
Recently I’ve been working on a rather difficult task, namely creating PDB debug database files from the Epoch Language compiler toolchain.
This is difficult in part because the format of PDB files is generally not well-understood, and is certainly poorly documented. I can’t go much furthe…
Recently IaEUR(TM)ve been working on a rather difficult task, namely creating PDB debug database files from the href="https://github.com/apoch/epoch-language">E…
Early this morning, Epoch achieved a minor success in the debugging department. I was able to generate a working PDB file with symbols for a small test program, run the program in Visual Studio and WinDbg, and step through the disassembly.
Along the way, the current Epoch function was correctl…
Early this morning, Epoch achieved a minor success in the debugging department. I was able to generate a working PDB file with symbols for a small test program, run the program in Visual Studio and WinDbg, and step through the disassembly.
Along the…
My recent adventures in self-hosting the 64-bit Epoch compiler have led me to a significant conclusion: it isn’t worth trying to self-host a compiler when you can’t debug the target language.
A much better use of my time would be to improve the languishing PDB generation experiment and get the…
My recent adventures in self-hosting the 64-bit Epoch compiler have led me to a significant conclusion: it isnaEUR(TM)t worth trying to self-host a compiler when you canaEUR(TM)t debug the target language.
A much better use of my time would be to improve the Read more in The Bag of Holding
Just a short while ago, the first working 64-bit compiler for Epoch was produced!
Well, "working" might be a minor stretch; it launches, prints a simple text banner message, and then exits cleanly. But that represents a lot of operational code by itself.
-
The 32-bit compiler is able to lex,…
Just a short while ago, the first working 64-bit compiler for Epoch was produced!
Well, "working" might be a minor stretch; it launches, prints a simple text banner message, and then exits cleanly. But that represents a lot of operational code by it…
For a decent while now, I’ve been working on self-hosting the Epoch 64-bit compiler. This involves getting the compiler to a point where it is robust enough to actually compile itself. In order to do this, I’m using a modified 32-bit compiler which generates 64-bit binaries. Once a working 64-bit…
A few minutes ago, the first 64-bit self-hosted compiler for Epoch finished the code-generation process… unsuccessfully.
For context, this means that the 64-bit compiler (as built by the existing 32-bit compiler) was lexed, parsed, type-checked, and turned into LLVM IR. What didn’t happen…
A few minutes ago, the first 64-bit self-hosted compiler for Epoch finished the code-generation processaEUR|aEUR' unsuccessfully.
For context, this means that the 64-bit compiler (as built by the existing 32-bit compiler) was lexed, parsed, type-checked, and turned into LLVM IR. What didnaEUR(TM…
For a decent while now, IaEUR(TM)ve been working on self-hosting the Epoch 64-bit compiler. This involves getting the compiler to a point where it is robust enough to actually compile itself. In order to do this, IaEUR(TM)m using a modified 32-bit compiler which generates 64-bit binaries. Once a wo…
This is a quick test of HubPress.io to see how I like it. Assuming all goes well, I will probably resume posting Bag of Holding entries here soon. Ancient archives from the Bag of Holding are on GameDev.net if you happen to like my writing. They are very, very old t…
This is a quick test of HubPress.io to see how I like it. Assuming all goes well, I will probably resume posting Bag of Holding entries here soon. Ancient archives from the Bag of Holding are on GameDev.net if you happen to like my writing. They are very, very old though.
For now, hereaEUR(TM)s a sn…
formula.Create() .Set(0.0f) .AddWithWeight(some_data_source, 0.5f) .Multi…
I had been mucking around for a little while when it came time to compile and test my changes. Everything seemed to build …
So far the only thing that works is printin…
The current runtime infrastructure for Epoch is precarious at best, and desperately needs some improvements. There are a number of things I want to do that all happen to coincide nicely with a desire to rewrite the runtime system:
- Dest…
Here's the link: clicky. Or you can email epoch-language@googlegroups.com to accomplish the same thing.
It should be open to anyone to come an…
//// How things look today//type Optional : T | nothingTest : integer x{ print(cast(string, x))}Test : nothing{ print("Nothing")}entrypoint …
I still really like keeping tasks as the si…
I didn't get a ton of votes, but all the votes I got were for doing a release sooner rather than later. So here you go, with all the warts and incomplete stuff.
This is mostly a milestone preview for those (few) of you who are really watching the project; think of it as a sneak peek mo…
Up until now, all names have been global, and all named entities have existed as peers in the global space. (The exception of course being local variables and function parameters/return slots.)
So far, I've moved al…