CL21 is an experimental project redesigning Common Lisp.

Motivation

Common Lisp has succeeded. Common Lisp the Language, 2nd Edition

Dear Common Lispers,

Common Lisp has the most expressive power of any modern language. It has first class functions with lexical closures, an object system with multiple-dispatch and a metaobject protocol, true macros, and more. It is ANSI standardized and has numerous high-performance implementations, many of which are free software.

In spite of this, it has not had much success (at least in Japan). Its community is very small compared to languages like Ruby and most young Lispers are hacking with Clojure.

Why? Common Lisp is much faster than them. Ruby has no macros and even Clojure doesn't have reader macros. Why then?

Because these languges are well-designed and work for most people for most purposes. These languages are easy to use and the speed isn't an issue.

Is Common Lisp sufficiently well-designed? I don't think so. You use different functions to do the same thing to different data types ( elt , aref , nth ). You have long names for commonly used macros ( destructuring-bind , multiple-value-bind ). There is no consistency in argument order ( getf and gethash ). To put it simply, the language is time-consuming to learn.

Given this, how can programmers coming from other languages believe Common Lisp is the most expressive one?

Fortunately in Common Lisp we can improve the interface with abstractions such as functions, macros, and reader macros. If you believe our language is the most expressive and powerful language, then let's justify that belief.

We should consider the future of the language, not only for ourselves but for the next generation.

Written on January 26, 2014 by Eitaro Fukamachi.