RC RANDOM CHAOS

Hyperpolyglot Lisp: A Side-by-Side Reference for Four Lisp Dialects

· via Hacker News

Original source

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

Hacker News →

A comparative reference sheet maps the syntax and semantics of Common Lisp, Racket, Clojure, and Emacs Lisp across dozens of categories, from compilation and REPL invocation to variable scoping, identifier rules, and core primitives like quote, eq, car, and cdr. The format is column-aligned so a programmer fluent in one dialect can quickly locate the equivalent construct in another.

The document surfaces the small but consequential differences that trip up polyglots: Common Lisp’s case-insensitive reader, Racket’s stricter handling of cdr on empty lists, Clojure’s rejection of cons cells and its treatment of nil as distinct from the empty list, and the lisp-1 versus lisp-2 split that determines whether functions and values can share a symbol. It also covers practical mechanics like shebang scripting in Emacs Lisp, standalone executable packaging in Racket, and Clojure’s immutable metadata model.

For working developers, the value is less academic taxonomy than a fast lookup when porting code or reading unfamiliar dialects. It treats the Lisp family as a single design space with local variations, rather than four isolated languages.

Read the full article

Continue reading at Hacker News →

This is an AI-generated summary. Read the original for the full story.