I got bit by the insomnia bug again, so I downloaded the Visual Studio SDK and started playing around with it. So far it's fairly huge and daunting, and, like most of the Visual Studio Extensibility stuff, pretty poorly documented.
After spending much of the night screwing around, I finally managed …
After spending much of the night screwing around, I finally managed …
There's still a handful of TODOs left sprinkled around the code, but higher-order functions are now in place. This makes it possible to pass a function to another function, and... ahh, screw it, here's an example:
entrypoint : () -> ()
{
operate(41, increment)
operate(43, decrement)
}
increment : (…
As I mentioned a while back, my big goal for R5 of Epoch is first-class function support - specifically, the ability to work with higher-order functions.
So this afternoon I started hacking away on that. The parser recognizes the syntax and sends off alerts to the parse analyzer, which currently ign…
So this afternoon I started hacking away on that. The parser recognizes the syntax and sends off alerts to the parse analyzer, which currently ign…
With nothing better to do over the weekend, I hacked out reference parameters for Epoch. This means that it is now possible to pass structures to external APIs and get results back. For example, the following Epoch program retrieves the number of processor cores in the host system:
//
// STRUCTUREAP…
So I finally got around to implementing the code to marshal structures back from the Win32 API into Epoch format.
This would be cause for major celebration, except for one minor problem: all variables in Epoch are currently pass-by-value. This means that a temporary copy of a structure is passed to …
This would be cause for major celebration, except for one minor problem: all variables in Epoch are currently pass-by-value. This means that a temporary copy of a structure is passed to …
Release 4 of the Epoch language prototype is now available.
Lots of new goodies in this release, which you should be familiar with if you've been following my journal lately. I'm too lazy to be keeping a work log at this early stage of the project, so a comprehensive list of changes isn't available,…
Lots of new goodies in this release, which you should be familiar with if you've been following my journal lately. I'm too lazy to be keeping a work log at this early stage of the project, so a comprehensive list of changes isn't available,…
Structures are basically finished, aside from one critical piece: it is not yet possible to pass a structure to an external API. Since this is one of the main goals of structures in the first place (for Win32 support) I obviously have a ways to go before R4 is ready.
My first approach to passing str…
My first approach to passing str…
Unicode
Had a good discussion over the last couple of days regarding Unicode handling in Epoch. As of now my plan for supporting Unicode is to add yet another pass to the lexer/parser system (woohoo for multipass compilation... C++, eat your blackened little heart out).
Essentially, the first pass wi…
Had a good discussion over the last couple of days regarding Unicode handling in Epoch. As of now my plan for supporting Unicode is to add yet another pass to the lexer/parser system (woohoo for multipass compilation... C++, eat your blackened little heart out).
Essentially, the first pass wi…
Took a few minutes this evening and hacked in while loops to the Epoch language. This is the second loop type, following up do/while loops which have been in for quite some time.
Part of implementing a while loop correctly involves elegantly skipping the loop body's instructions when the condition e…
Part of implementing a while loop correctly involves elegantly skipping the loop body's instructions when the condition e…
Advertisement
Popular Blogs
Advertisement