Current projects
Erlisp
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. Read more…
Project ideas
Lisp refactoring (in SLIME)
Is refactoring useful for Lisp programs, or are kill-sexp and XREF all the “refactoring” tools we need? I think there is some use for refactoring in Lisp, but the set of useful refactorings will probably be a lot different from that of Java or Smalltalk.
A Formal Pattern Language for Refactoring of Lisp Programs by António Menezes Leitão talks about an easily extensible refactoring tool for Lisp that was used extensively to refactor a large legacy AI system. Perhaps this could be turned into a tool for SLIME, so more people could play around with it and find out if and how refactoring is useful to them as Lisp programmers.
DREI: DREI is a Redone Emacs Implementation
Rewrite GNU Emacs’s C core in Common Lisp to make it more enjoyable to hack on.
Note that this will not change Emacs’s extension language from Emacs Lisp to Common Lisp, as Climacs, Hemlock and Goatee do. The intention is to be fully compatible with, and perhaps someday replace, the implementation of GNU Emacs so that the hundreds of thousands of lines of Emacs Lisp “out there” will continue to work.
Thanks to Chris Gray for the idea.