Erlisp
Erlisp is now defunct. These pages merely serve to preserve its history.
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.
The code is still at a very early stage, but what little there is can be found in the download section. Erlisp’s roadmap describes the basic plan of attack for further the development of this code. This development can be discussed in my blog and on the Erlisp mailing list. The terminology page defines the most important terms used on this website and in the documentation and code.
A project such as Erlisp isn’t done by a single person in a vacuum, and to acknowledge that, I keep a listing of the names of people with whom I had valuable and encouraging discussions. Also, I keep a list of references to work of others that is relevant for Erlisp. If you know of anything not listed here – models of concurrency, programming languages, prior art, anything – or if you have suggestions or comments of another kind, please feel free to drop me an e-mail.