The Lisp dynasty: From McCarthy to ZetaLisp
graph TB %% Foundational influences LambdaCalculus[Lambda Calculus<br/>Alonzo Church<br/>1930s] %% Original Lisp lineage Lisp[Lisp<br/>John McCarthy<br/>1958] Lisp15[Lisp 1.5<br/>1962] Maclisp[Maclisp<br/>MIT Project MAC<br/>~1966-1967] %% Object-oriented influence Smalltalk[Smalltalk<br/>Alan Kay et al.<br/>1971-1980] %% ZetaLisp ZetaLisp[ZetaLisp<br/>Symbolics<br/>~1980] %% Connections - Lambda Calculus to Lisp LambdaCalculus --> Lisp %% Lisp lineage evolution Lisp --> Lisp15 Lisp15 --> Maclisp Maclisp --> ZetaLisp %% Object-oriented influence Smalltalk -.message passing, OOP.-> ZetaLisp %% Key innovations annotations Lisp -.S-expressions, homoiconicity.-> ZetaLisp Lisp15 -.eval, CAR/CDR.-> ZetaLisp Maclisp -.defun, macros, reader macros.-> ZetaLisp %% Styling classDef foundationStyle fill:#E8EAF6,stroke:#5C6BC0,color:#000 classDef lispStyle fill:#81C784,stroke:#388E3C,color:#000 classDef ooStyle fill:#FFB74D,stroke:#F57C00,color:#000 classDef zetaStyle fill:#7C4DFF,stroke:#512DA8,color:#fff class LambdaCalculus foundationStyle class Lisp,Lisp15,Maclisp lispStyle class Smalltalk ooStyle class ZetaLisp zetaStyle
Original Lisp (1958) stands as the fountainhead for three of our four languages. John McCarthy specified Lisp at MIT in 1958, with Steve Russell implementing the first interpreter in 1959 on the IBM 704. This revolutionary language introduced concepts that would echo through decades: symbolic expressions (S-expressions), prefix notation with fully parenthesized syntax, automatic garbage collection (developed by Daniel Edwards pre-1962), first-class functions, lambda expressions, homoiconicity where code-is-data, the read-eval-print loop (REPL), and dynamic typing. McCarthy drew inspiration from Alonzo Church's lambda calculus, creating a language fundamentally oriented around list processing and recursive functions.
Lisp 1.5 (1962) formalized McCarthy's vision through the landmark "LISP 1.5 Programmer's Manual" authored by John McCarthy, Michael I. Levin, Paul W. Abrahams, Daniel J. Edwards, and Timothy P. Hart. This version established the association of functions with property lists, refined the evaluation model around the eval function, and solidified core Lisp primitives including the iconic CAR and CDR operations—names derived from the IBM 704's hardware registers (Contents of Address Register / Contents of Decrement Register). The conditional expression structure (cond) and tree data structures became standard, laying groundwork that would influence computing for generations.
Maclisp (late 1960s) emerged from MIT's Project MAC around 1966-1967, primarily developed by Richard Greenblatt for the PDP-6 with ongoing maintenance by Jon L. White. Maclisp revolutionized Lisp performance through dynamic variable binding with value cells—dramatically faster than Lisp 1.5's association lists—and introduced reader macros that improved I/O readability (such as 'A instead of (QUOTE A)). The language featured the Ncomplr compiler generating native machine code for arithmetic operations, arbitrary-precision integers (bignums), arrays and strings, and the now-ubiquitous defun syntax for function definitions. Maclisp's compiled versus interpreted code model with inline operations for CAR and CDR set new performance standards.
ZetaLisp (~1980) represents Symbolics' commercial variant of Lisp Machine Lisp, originally developed at MIT AI Lab from the mid-to-late 1970s. Key contributors included Richard Greenblatt, David Moon, Richard Stallman, and Daniel Weinreb. The language was explicitly described as a "direct descendant of Maclisp," inheriting all of Maclisp's innovations while adding transformative extensions. ZetaLisp introduced Flavors—the first major object-oriented programming system for Lisp, featuring multiple inheritance, message passing, method combination through :before and :after daemons, and mixins. This system drew heavy influence from Smalltalk (1971-1980), developed by Alan Kay, Dan Ingalls, and Adele Goldberg at Xerox PARC. The relationship was bidirectional: "Lisp deeply influenced Alan Kay... and in turn Lisp was influenced by Smalltalk" in object-oriented paradigms, encapsulation, and method dispatch mechanisms.
ZetaLisp's innovations extended beyond Flavors to include proper lexical closures, efficient vectors, stack groups for coroutine-like control structures, locatives for low-level memory access, rational numbers, multiple return values, structures, the generalized assignment mechanism setf, and advanced memory management through CDR-coding. The language was "the Lisp dialect with the most influence on the design of Common Lisp" according to multiple sources, with Flavors evolving into CLOS (Common Lisp Object System). ZetaLisp ran on dedicated Lisp Machine hardware with tagged architecture enabling parallel type checking without performance penalties, supporting applications from the Macsyma computer algebra system to sophisticated AI research.