Common Lisp, Scheme, Clojure, And Elisp Compared

A month ago we had a lively discussion here at Irreal on the question of whether or not Elisp sucks. As with most questions of this sort, there were champions of both positions: some felt that Elisp is a distinctly inferior Lisp and others felt that Elisp along with Emacs is better than the other Lisps and able to solve problems that the others could not easily deal with.

Doubtless these battles will continue to rage for as long as there are programmers but now Hyperpolyglot offers a very nice comparison of Common Lisp, Scheme, Clojure, and Elisp. By comparison I mean a table of operations and how each implements that operation, if at all.

One interesting take away for me was the extent to which Elisp mirrors Common Lisp's operations. The table includes the functionality that we get from (require 'cl) so this isn't too surprising but it does speak to another lively discussion that took place in the comments to Reversing An Emacs Lisp List In-Place: should Elisp automatically include the Common Lisp functionality?

If you're not familiar with one or more of the Lisps compared in the chart, it's a good place to get a feel for how they measure up to the ones you are familiar with. It can even serve as a cheat sheet if you use more than one of the Lisps and sometimes have trouble remembering which way to do some operation in the Lisp you're using at the moment. It's an interesting chart and fun to look if only for its entertainment value.

This entry was posted in Programming and tagged , , . Bookmark the permalink.
  • This chart is actually extremely misleading and in many places factually incorrect regarding Clojure; I'd recommend pretending that column doesn't exist. The CL/Elisp comparison seems all right, though it misses the differences between the language that are actually interesting.