Wednesday, April 04, 2007
At the end of my previous discussion of my recent language binge, looking at Factor and Erlang, I mentioned that a perfect language would use Lisp as a base and then add some interesting features from Erlang. I mentioned Erlisp as being one step towards something like that but noted some of the limitations of Erlisp because it builds on top of Common Lisp. I noted that a ground-up rethink and true fusion would be more interesting in trying to solve the fundamental problem that Erlang is trying to solve (non-stop operation for years) but gaining some of the advantages of Lisp. I also mentioned that there was a Scheme-based experiment like Erlisp but I couldn't remember the name. Several commenters reminded me that it's called Termite.
So, I went back and read the paper about Termite again. I had done so a while ago but had only really retained the fact that a "Scheme-based Erlang" existed. I had forgotten its name and everything about its implementation.
The fact is, Termite is very close to what I would be looking for. I think it may do a better job than Erlisp because the Gambit Scheme implementation on which it is based has some nice thread capabilities (the ability to create "millions of threads on ordinary hardware"). Still, from some comments made at the end of the paper, it's clear that even the implementors think there are some limitations in Termite driven by the fact that it's implemented on top of Gambit rather than from the ground up. I don't know enough yet to understand where the limitations might be, and the authors only hint at them, never stating them outright.
Still, I think Termite is close.
Links to this post: