Bill Clementson's Blog

Bits and pieces (mostly Lisp-related) that I collect from the ether.

October 2004
Sun Mon Tue Wed Thu Fri Sat
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Sep  Nov

Erlisp - Erlang-like concurrency for CL

Wednesday, October 13, 2004

Dirk Gerrits has announced a new project called Erlisp to bring Erlang-like concurrency programming to Common Lisp:

"I've started on a project to bring Erlang's light-weight, message passing concurrency to Common Lisp. Today I've finished completely overhauling my website, and I've created a project website for Erlisp in the process. (See: http://www.dirkgerrits.com/erlisp/) Here's a brief summary:

Why is it that Common Lisp is better than "mainstream" languages in a lot of ways, but not in parallelism and distributed programming? Is it just because threads with shared memory and locking are the best we can do for parallelism, and because socket and RPC libraries are totally adequate for distributed programming?

I think the answer is no. Some older Lisps and a few younger, non-Lisp languages like Erlang have intriguing approaches to concurrency that are easier to use and less "low-level" than this industry best practice.

Erlisp is my attempt to bring some of these ideas to Common Lisp, and perhaps develop some new approaches in the process.

Phase 1 of this project will involve bringing (most of) the features of the Erlang programming language to Common Lisp. Erlang is a small but powerful functional, concurrent, and distributed programming language originally developed at Ericsson for use in the telecom industry. It's been really successful as a concurrent and distributed programming language, and is pretty Lisp-like for a language with syntax, so it seems like a good starting point.

Phase 2 is much bolder and involves doing for models of parallel and distributed programming what the CLOS MOP did for object systems. The design of such a metaobject protocol is a hard and evolutionary process with which I have absolutely no experience, so this is very much a long-term goal.

So far, there is no code to speak of. Just Erlisp's roadmap, describing the basic plan of attack for its realization, and a list of references to relevant articles, books, etc.

Questions, comments, suggestions, articles, books, prior art, and constructive criticism are always welcome. Just reply to this article, in private or through the newsgroup."
If you're interested in parallel programming and concurrency in CL, you might also want to have a look at my previous posting about "Parallel Computing in Lisp".

emacs Copyright © 2005 by Bill Clementson