From: "andrew cooke" <andrew@...>
Date: Sun, 30 Sep 2007 13:53:13 -0400 (CLT)
When Erlang is mentioned it's common to hear people also referring to Termite, which is an extension to Gambit Scheme. The implication is that the two are comparable systems. In fact, as is pretty obvious if you look at the two projects, Erlang is a tested, reliable, well-used system while Termite is experimental, unreliable, and ultimately frustrating. Things aren't helped by the fragmented nature of Scheme, which makes something like Snow (a package system that provides standard functionality across a range of Scheme implementations) necessary. Gambit works with Snow, but Snow does not have support for Termite and complicates its use. Even when Termite works (and I couldn't get it to work reliably), it differs in functionality compared to Erlang. A single Gambit instance is a single process - its "threading" is implemented using continuations - and so (unlike Erlang) it cannot automatically use a dual core. Instead, you have to start up two processes on the same machine, explicitly (I never managed to make this work with Snow). There also appears (I didn't really get this far) to be no automatic loading of an equivalent environment remotely - you have to arrange for each separate instance to load the same code. On the other hand, Termite may have some advantages over Erlang due to, for example, the availability of continuations in the base language. In short, if you want a system that just works, use Erlang. Andrew