Hyperpolyglot Lisp: Common Lisp, Racket, Clojure, Emacs Lisp

· coding · Source ↗

TLDR

  • Side-by-side reference sheet covering Common Lisp, Racket, Clojure, and Emacs Lisp across 20+ syntax and library categories.

Key Takeaways

  • Covers grammar, variables, arithmetic, strings, regex, dates, lists, dicts, user-defined types, functions, exceptions, streams, files, processes, macros, reflection, and Java interop.
  • Versions pinned: SBCL 1.2, Racket 6.1, Clojure 1.6, Emacs 24.5 – useful for historical comparison but may lag current releases.
  • Clojure diverges most from the others: case-sensitive identifiers, Java interop for math and I/O, no native complex number support, and let uses sequential binding by default.
  • Emacs Lisp uses lexical-let for parallel binding vs. let in the other three, reflecting its dynamic-scope default.
  • Common Lisp and Racket share rational number literals (e.g. 3/7) and arbitrary-precision integers; Clojure throws on integer overflow.

Hacker News Comment Review

  • No substantive HN discussion yet.

Original | Discuss on HN