How Prolog was used to develop Erlang(citeseerx.ist.psu.edu)
citeseerx.ist.psu.edu
How Prolog was used to develop Erlang
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.34.3972
3 comments
It sounds like, with a little over two pages of Prolog, he had a prototype of a multi-threaded, message-passing DSL.
With 1,100 lines of Prolog, he had the other Erlang elements such as process supervision groups, error trapping, tracing, etc.
They eventually rewrote it in C to make it faster, to remove some counterproductive aspects of Prolog's semantics (in particular, logic variables were being instantiated across the threads), and to change the syntax a bit.
There's a good interview with him on SE-Radio (http://se-radio.net/podcast/2008-03/episode-89-joe-armstrong...) that discusses the original implementation, as well.
They eventually rewrote it in C to make it faster, to remove some counterproductive aspects of Prolog's semantics (in particular, logic variables were being instantiated across the threads), and to change the syntax a bit.
There's a good interview with him on SE-Radio (http://se-radio.net/podcast/2008-03/episode-89-joe-armstrong...) that discusses the original implementation, as well.
Yeah. erlang certainly smells like prolog. ;)
http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-11...
http://neilconway.org/docs/netdb2009_paxos.pdf