Skip to content

McCarthy — Recursive Functions of Symbolic Expressions (1960)

The paper that defined Lisp. McCarthy introduces S-expressions, the primitives car / cdr / cons / eq / atom, conditional expressions, lambda for anonymous functions, recursion as the control primitive, and eval — the famous half-page metacircular interpreter that turns the language into its own specification. It also contains the first published description of garbage collection (the reclamation scheme for the free-storage list). Sixty-six years on, every line of it is still load-bearing in this project.

  • This is the root of the cart-authoring paradigm. The whole capability model is “ship Lisp source, tree-walk it” — eval over S-expressions is literally McCarthy’s 1960 design, now running as Fe on a Pi Zero 2 W. The lineage MDL → mal → Fe → KN-86 cart (noted in mal) terminates here at the source.
  • The deck’s left half is a monument to this paper. The function-block keycap legends — CONS CAR CDR QUOTE LAMBDA/FN ATOM APPLY EVAL — are McCarthy’s 1960 primitives, printed on physical keys (parent canonical-spec.md Keys row; ADR-0022). A buyer who knows the paper reads the keyboard as a citation.
  • One sanctioned divergence worth knowing. McCarthy’s eq is identity; the deck’s EQ keycap authoring-binds to KEC’s is, and numeric equality is the printable = family (ADR-0044 §5). The identity-vs-equality split has been a Lisp design wart since this paper — good lore for the cart-authoring docs and the brand narrative.
  • GC was born here too. The bounded-pause collector concern in the runtime (no-malloc arena, fixed object pool) descends from the same lineage; see Baker — Real-Time List Processing for the paper that made that reclamation incremental.
  • Direct cite candidate in ADR-0001’s prior-art section — the “why Lisp at all” provenance.
  • Cross-link mal (the modern pedagogy), mop (the metaobject descendant), and the brand/lore docs — this is a marketing asset as much as an engineering one.