My big project at the moment involves rewriting the Epoch language compiler for what feels like the millionth time.
The good news is, instead of yet another C++ incarnation of the compiler, this time around I'm moving towards a self-hosted model, where the compiler for Epoch is itself an Epoch progr…
The good news is, instead of yet another C++ incarnation of the compiler, this time around I'm moving towards a self-hosted model, where the compiler for Epoch is itself an Epoch progr…
Bytecode generation is done... more or less. I have a feeling there's a few instructions that are still missing but the compiler test suite passes so obviously there's plenty of stuff that does work...
Instead of spamming my journal here with noise about this every couple of days, I'm going to keep …
Instead of spamming my journal here with noise about this every couple of days, I'm going to keep …
As I've discussed previously, my goal for Epoch Release 15 is to get the compiler self-hosting. In a nutshell, that means that an Epoch program will be used to compile all other Epoch programs, including itself.
To do this, I'm working backwards from the compiler back-end first to the lexer/parser l…
To do this, I'm working backwards from the compiler back-end first to the lexer/parser l…
Release 14 of the Epoch programming language is now live!
That brings us to the pertinent and slightly bothersome question: what will be worked on for Release 15?
There are a number of features I'm interested in improving and/or implementing, ranging from object lifetime semantics to parallelism func…
That brings us to the pertinent and slightly bothersome question: what will be worked on for Release 15?
There are a number of features I'm interested in improving and/or implementing, ranging from object lifetime semantics to parallelism func…
So I've been looking over my past notes and decided that I'm pretty happy with the state of affairs over in Epoch land. The garbage collector is running, tuned for reasonable performance, and successfully keeps the native-code realtime raytracer clamped at a decently small degree of RAM usage.
The o…
The o…
It was an epic fight, but I finally managed to subdue the last few LLVM garbage collection bugs and get a full test suite pass.
I'm kind of tired (it's 5:30AM and I've been running all night) so I'll try to reword that a little more clearly:
Epoch is, as of right now, passing all compilation and runt…
I'm kind of tired (it's 5:30AM and I've been running all night) so I'll try to reword that a little more clearly:
Epoch is, as of right now, passing all compilation and runt…
The last major task for release 14 of the Epoch programming language is integrating garbage collection with the LLVM-supported JIT native code generation layer.
Ostensibly, LLVM supports hooks for making garbage collection possible. It doesn't take much digging to find out that this is a complete li…
Ostensibly, LLVM supports hooks for making garbage collection possible. It doesn't take much digging to find out that this is a complete li…
Last night at some unholy hour I finished a first pass at marshaling Epoch data back and forth across C-ABI boundaries. In less annoying terminology, this means that Epoch programs can do things like call Windows API functions, C-compatible APIs in other DLLs, and so on. More interestingly, those A…
Today I wrapped up the last Epoch compiler test suite failure besides C-API marshaling. That means 53 of 54 compiler tests are passing as pure native code - no VM to get in the way and slow things down.
Once C marshaling is in place, I'll need to rework the garbage collection implementation a bit, a…
Once C marshaling is in place, I'll need to rework the garbage collection implementation a bit, a…
Advertisement
Popular Blogs
Advertisement