9:01 PM
I bit the bullet this evening and started hacking on getting stack-based Epoch implemented. So far, progress has been good; local variables are pushed onto the stack when a scope is entered, and popped off the stack when the scope exits. I estimate that about 75% of the requisite work is fin…
I bit the bullet this evening and started hacking on getting stack-based Epoch implemented. So far, progress has been good; local variables are pushed onto the stack when a scope is entered, and popped off the stack when the scope exits. I estimate that about 75% of the requisite work is fin…
Well, I finally ran into something major that will have to change in Epoch.
It's kind of a dumb oversight, really, and hopefully it won't be too big of a fix to make; but it's still the first significant thing I'll have to go back and redo in the VM.
At the moment, lexical scopes exist on the heap. T…
It's kind of a dumb oversight, really, and hopefully it won't be too big of a fix to make; but it's still the first significant thing I'll have to go back and redo in the VM.
At the moment, lexical scopes exist on the heap. T…
12:50 AM
I wasn't even planning on working on Epoch tonight. In fact, I was planning to go to bed and get some much-needed sleep. But after a few minutes of lying around in the dark, thinking up things I could be implementing in the Fugue VM, I decided what the hell, what's a couple of minutes? I'll…
I wasn't even planning on working on Epoch tonight. In fact, I was planning to go to bed and get some much-needed sleep. But after a few minutes of lying around in the dark, thinking up things I could be implementing in the Fugue VM, I decided what the hell, what's a couple of minutes? I'll…
Another productive couple of hours on Epoch today. I've added the real type to the language, so now floating point math is possible. Just for the hell of it I implemented Telastyn's benchmark algorithm in Epoch, with the following results:
entrypoint : () -> ()
{
debugwritestring(lexicalcast(stri…
The Epoch VM is finally in decent shape again after some fairly major additions. As such, I think it's time for another release.
Major points of interest:
Major points of interest:
- This release now includes binaries if you don't want to build from sources
- External DLLs can be called now using the external keyword
- Functions can …
More progress today; the conversion from a standalone EXE to a DLL has been completed, and the menu has been moved to a small client program that launches the VM DLL in order to execute code. This makes it a trivial step to extend that to embedding VM binary code in a stub EXE, as I've detailed ear…
Today's little slice of work on Epoch consisted of something rather different: serialization to a binary format on disk.
Currently, the parser loads raw text code and converts it to lists of "operations" within memory; each operation is an atomic action (from the language's point of view) and includ…
Currently, the parser loads raw text code and converts it to lists of "operations" within memory; each operation is an atomic action (from the language's point of view) and includ…
I know I've been posting a lot lately, but, well, there's a lot going on.
Over a quick lunch break I've made some additions to the VM, mainly in two areas: external DLL calls, and lexical scoping. Lexical scoping and function parameter passing are now solidly in place; it is possible to pass a varia…
Over a quick lunch break I've made some additions to the VM, mainly in two areas: external DLL calls, and lexical scoping. Lexical scoping and function parameter passing are now solidly in place; it is possible to pass a varia…
I set aside a few minutes this evening and worked up further integration between Epoch programs and external DLLs. The result is that a new class of program is possible:
external "user32.dll" MessageBoxW : (integer windowhandle, string message, string caption, integer typeflags) -> (integer)
entr…
Advertisement
Popular Blogs
Advertisement