Maybe it’s because it’s summer and nobody is registering new projects, but the registration of saturn-language at sourceforge came though extremely quickly, in less than a day. And now that I’ve made a new logo it looks like the saturn project is slowly coming alive. Yes, the new logo looks a lot like the old one but still: the ring is broader and now it’s got a few colored bands. Clearly that’s saturn, not neptune.
Someone asked me what the goals of the project are. I don’t have any long-term goals yet but currently the goal is to design the language and get an implementation, any implementation, up and running as quickly as possible. Most of the language design is already done so it’s mainly a question of implementing it. Currently there is a compiler, a simple interpreter written in Java and a very simple class library; all three evolve in parallel. The interpreter is very inefficient but on the other hand it can be changed very quickly to accomodate changes in the language or the compiler. Once the language is more stable and there are plenty of library code (tests, in particular) I will look into implementing a more efficient runtime in C or C++. But it will be some time before the project reaches that point and anyway, I’m more of a compiler/IDE guy than a VM guy so maybe I’ll have to get some more people involved to get a decent VM together. On the other hand, plenty of language get along fine with less-than-decent VMs so we’ll just have to see.
Will this future C or C++ runtime be small enough to run on embedded systems? I’m pretty sure it will. Neptune definitely did, it was designed for it. Saturn makes some extensions that will definitely require more of the runtime: transactional memory, dynamic privacy, full blocks and most likely other things I haven’t even thought of yet. But I believe there are implementation techniques that allows these things to be implemented efficiently in a reasonably small VM. But that’s way way into the future — the project is still less than a month old.
A complete aside: while I was looking for pictures of saturn I found this disturbing painting by Goya, Saturn devours his children.
I don’t even now what is most spooky: the half-eaten son or the mad look in Saturn’s eyes. But then again Goya was apparently half-mad when he painted it, not on a canvans but on his dining room wall.
The story goes that Saturn overthrew his father Uranus and castrated him, no less. Later it was foretold that the same would happen to Saturn himself so to be on the safe side he decided to eat his children at birth. It didn’t do him much good, though, he was just overthrown by someone else: Jupiter. John Keats wrote the (unfinished) poem hyperion about that:
And the sad Goddess weeping at his feet:
Until at length old Saturn lifted up
His faded eyes, and saw his kingdom gone
And all the gloom and sorrow of the place
Incidentally, both the painting and the poem are from 1819. But enough about that.