Initial attempts to duplicate Erlang in other languages tend to make a lot of simplifying assumptions, either knowingly or unknowingly. Distribution is a big feature often overlooked initially, and beyond that "supervisor hierarchies" in which various distributed processes are either workers (do the real work) or supervisors (ensure the real work continues in the face of process or node failures).
Jonas has started an implementation of supervisor hierarchies for Scala's agents, as well as a basic "generic server" framework approximating Erlang's gen_server, etc. So far I think it's all running in one JVM, but it's a good start at illustrating all that Erlang does on behalf of a distributed system.
No comments:
Post a Comment