wild and crazy idea?
Fri Feb 17 09:03:37 CET 2006
> From: Ryan Rawson
> I actually disagree here. I think the cool thing about
> Erlang is that lightweight and isolated processes are _part_
> of the language. [...] I'd also like to point out that "syntactic sugar"
> merely sweet, but it can be an essential feature of the
> language. For example, list comprehensions [...] Plus I'd miss the
> live code upgrades.
I fully agree. I did actually say "For the purpose of this discussion, I
claim that the rest is just syntactic sugar."
IMHO it's not realistic to assume we can impose Erlang as a language to the
whole world. But seeing that many others are aiming to implement the very
features that make the Erlang system what it is, I think it is worth
considering if it would be possible to share those features.
In the beginning, the only supported language vm would be the beam machine,
so Erlang users can be oblivious of any change. But if someone would like to
run (Ocaml | Felix | Ruby | Java | whatever), instead, why not let them
implement their own language vm? I believe the result will be that even
Erlang will end up enriched with new concepts. Or else everybody would
switch to Erlang :-)
There is an alternative, to let those other languages be compiled to beam
code, but beam is very much Erlang, so I don't think it is a viable option.
Anyway, it is not to say that if another language would be used on this
runtime, it will remain unchanged. There are already language extensions for
everything, it wouldn't be that difficult to extend any given language to
include whatever syntactic or semantic sugar is needed.
Of course, in today's ERTS the beam engine is very tightly integrated with
the process framework, so to make this practical there is a lot of work. It
isn't even certain it's possible to do without making compromises that would
render the solution less useful than wished for.
More information about the erlang-questions