Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
How Prolog was used to develop Erlang (psu.edu)
68 points by MaysonL on Sept 30, 2009 | hide | past | favorite | 3 comments


Folks interested in using logic programming for building distributed systems might be interested in some work my research group is doing: we've built Hadoop, HDFS, and Paxos in a high-level distributed variant of Datalog, which is another logic programming language in the same family as Prolog.

http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-11...

http://neilconway.org/docs/netdb2009_paxos.pdf


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.


Yeah. erlang certainly smells like prolog. ;)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: