So I decided that I was tired of not working on the VM side of things, and rigged up a simple test harness for LLVM.
Basically, this creates the following situation:
Basically, this creates the following situation:
- getstuff() is a function defined in the native .EXE which returns a simple integer
- answer() is a function defined in LLVM bitcode at run…
Instead of working on changing variable initialization syntax (which is hard) I decided to make structures work again in the R12 compiler, which turned out to be more or less just as hard.
The results are pleasing, though:
The results are pleasing, though:
structure outer :
integer foo,
inner bar
structure inner :
string baz,
stri…
I give you Epoch, now with a much better function definition syntax:
//
// FUNCTIONS.EPOCH
//
// Compiler test for higher-order functions
//
entrypoint :
{
apply("test", debugwritestring)
debugwritestring(apply("test", mutate))
}
apply : string param, (thefunction : string)
{
thefunction(param)
}
apply : st…
It's been a productive weekend for Epoch! Today I got postfix entities working correctly, implemented a bunch of overload resolution logic, and made a few other miscellaneous fixes and tweaks.
As of now, at least four of the compiler test programs are passing. I still need to work through a lot of s…
As of now, at least four of the compiler test programs are passing. I still need to work through a lot of s…
Plugged away at Epoch tonight for a few hours; I'm pretty happy with the results.
The Release 12 compiler is officially generating workable bytecode now - to the point where I can run a (very small) subset of the compiler tests in the VM.
One of these tests is the old "pi" program, which simply compu…
The Release 12 compiler is officially generating workable bytecode now - to the point where I can run a (very small) subset of the compiler tests in the VM.
One of these tests is the old "pi" program, which simply compu…
The Making of a Pragmatic Programming Language for the Future
Part 3: Prototyping
The first part of creating any major project is prototyping, or at least, that's how it should be. When first embarking on an undertaking like building a major piece of software, it is essential to scope out the size an…
Part 3: Prototyping
The first part of creating any major project is prototyping, or at least, that's how it should be. When first embarking on an undertaking like building a major piece of software, it is essential to scope out the size an…
So after the little existential whine-fest about Epoch a few days ago, I've found myself miraculously rejuvenated.
I credit this to two things. First, I started writing about the development process, which got me thinking about what's left to do and how much I really want the language. Second, I att…
I credit this to two things. First, I started writing about the development process, which got me thinking about what's left to do and how much I really want the language. Second, I att…
The Making of a Pragmatic Programming Language for the Future
Part 2: WTF is up with about Epoch?
Welcome to part 2 of the series on the Epoch language's creation and development. In this installment, I'd like to present a sort of FAQ, or more accurately, a list of "frequent WTFs" about Epoch. Thes…
Part 2: WTF is up with about Epoch?
Welcome to part 2 of the series on the Epoch language's creation and development. In this installment, I'd like to present a sort of FAQ, or more accurately, a list of "frequent WTFs" about Epoch. Thes…
Advertisement
Popular Blogs
Advertisement