A history of untyped foundations and dynamically typed functional programming, centered on Lisp, Scheme, Common Lisp, Racket and Clojure, with a separate teaching track and neighboring Erlang/Elixir and hosted Lisp designs. Gregorian calendar, UTC. Sources checked 3 November 2026.
What “untyped” means here
Untyped lambda calculus does not assign static types to its terms. Lisp-family languages still have distinct runtime values and rules about their use. Dynamically typed is consequently the more precise description for most of these programming languages. They can support functional programming without forbidding mutation, I/O, objects or other effects. Dynamic typing does not require interpretation: Lisp implementations have a long compilation history.
The companion Type theory timeline covers typed foundations more broadly; Haskell history follows a different functional-language branch; Tacit programming explores composition and variable elimination. This timeline keeps those connections without placing every functional language in one implementation family.
Compare the histories
Use Separate by tags for origins, Lisp, MACLISP, Interlisp, Common Lisp, Scheme, Racket, Clojure, ClojureScript, Emacs Lisp, Guile, compilers, standards, closures, continuations, libraries, host platforms and adjacent traditions. Teaching entries are gold; standard/report entries are blue; the Scheme/Racket strand and Clojure strand have distinct colors.
Early Lisp’s symbolic expressions, lists, recursive functions, evaluator and compiler grow into multiple dialects and environments. Common Lisp consolidates selected traditions into a community specification and later an ANSI standard. Scheme develops a compact semantic core and an evolving report series. PLT Scheme grows through an education project and is renamed Racket as its language-building platform expands. Clojure is a newly designed hosted Lisp dialect, not a direct implementation fork of an earlier Lisp. Erlang and Elixir are included as related dynamically typed functional traditions, not mislabeled Scheme or Clojure descendants.
The concept notes explain lexical scope versus static typing, dynamic binding versus dynamic typing, closures, proper tail recursion, continuations, macro hygiene, persistent data, compilation, host integration, concurrency and the limits of treating specs/type hints as mandatory static checking. Racket’s typed and untyped language variants remain distinct. Common Lisp’s optional declarations do not turn the whole family into one statically typed language.
Public teaching material is part of the history
Separate by teaching resources for books, manuals, lectures and public materials, or by coursework for course offerings, workshop records and resource snapshots. Individual tags include SICP, textbooks, lectures, recursion, interpreters, program design and online education.
| Resource or teaching tradition | What is publicly linked | Historical distinction |
|---|
| SICP | MIT-hosted text, lecture recordings, course archive and official video upload | Course development, textbook editions, 1986 recording and 2009 YouTube upload have separate dates |
| The Little LISPer / Little Schemer / Seasoned Schemer | Bibliographic and publisher records | These are book milestones; a free full-text copy is not promised |
| Simply Scheme | Author-hosted text and teaching context | A gentler Scheme introduction, distinct from the full SICP course |
| How to Design Programs | Author-maintained complete text and archived editions | Design recipes and deliberately staged teaching languages |
| Essentials of Programming Languages | Author-maintained preface, interpreter code, errata and teaching links | The host language and the languages modeled by the exercises can differ |
| PLAI | Author-hosted editions, revisions and associated course material | Edition dates, revision dates and university term dates are distinguished |
| Berkeley CS 61A | Older Scheme-based course archive and current public Scheme practice resources | The main-language transition to Python in 2011 does not erase the older teaching history |
| Helsinki Clojure MOOC | Public lessons and programming exercises | The 2014 course identifies earlier university offerings in 2011–2013 |
| ClojureBridge | Public workshop curriculum and project history | The first workshop is dated separately from the current availability snapshot |
| UW Programming Languages material | Author-hosted notes and exercises for a university/MOOC curriculum | The mixed ML/Racket/Ruby approach is not represented as wholly untyped |
MIT’s first-edition SICP preface dates development from 1978 and teaching in its then-present form from fall 1980. The lecture page summarizes the subject as dating from 1981; that discrepancy is retained. The professionally produced HP lectures were recorded in July 1986 and follow the first edition, while the second edition revises many programs and adds material. MIT OCW’s Spring 2005 course label and the official 2009 YouTube upload do not imply that the lectures were recorded in those years.
University course dates identify offerings, not proven first days of web publication. Some old university project URLs now require institutional login; the timeline links openly readable materials and clearly labeled public resource snapshots instead of presenting a login page as a public assignment. Archived text and exercises are separate from active enrollment, grading or account-based services.
Standards, releases and dates
Common Lisp’s 1984 book, 1990 second edition, ANSI standard and HyperSpec are different artifacts. R6RS and R7RS-small are distinct modern Scheme targets; a larger report number does not imply source compatibility with every earlier implementation. The currently hosted R7RS PDF has a 2021 revision date, while the standards site dates the report’s standardization milestone to 2013. The timeline preserves that distinction. SRFI 0’s receipt in November 1998, draft work and final status in May 1999 are also distinct.
Clojure’s creator reproduces an initial availability announcement dated 17 October 2007. The contemporaneous 4 May 2009 Clojure 1.0 announcement is preferred to a later downloads table that labels the release July 2009. The HOPL paper is published in June 2020 and presented at the rescheduled June 2021 conference. At the research cutoff, the official release page distinguishes stable 1.12.6 from the 1.13 development alpha line.
Year-only and month-only evidence uses January 1 or the first day solely as a plotting anchor. Midnight UTC does not assert a historical time of day. Coarse dates have presumptive outlines. Every event identifies its kind: design period, paper, language report, implementation release, textbook, recorded lecture, course offering, upload, workshop or present-day snapshot. Coverage bands are editorial reading guides rather than language lifetimes or support/enrollment windows. This is an extensive selection, not an inventory of every Lisp dialect, runtime release or university class.
Sources and relationships
Sources prioritize original papers and reports, creator histories, standards, release announcements, author-maintained books, university course archives and institutional preservation records. Original publisher/library bibliographic metadata supplies selected book dates. Preserved copies retain the original authorship and publication identity. Author-hosted originals may have later web transcription dates, which are not silently substituted for original publication dates.
Relationship explanations and evidence distinguish documented development or use from conceptual/pedagogic comparisons. An arc between courses is not a claim that one author copied another curriculum. A family comparison does not establish a source-code fork. Concept cards are undated explanations attached to real milestones, not fictitious historical events.
Media credits
The museum photograph of the CADR Lisp machine illustrates the historical computing environment. It does not identify the machine used for every language or course. Later portraits identify McCarthy, Sussman, Steele and Hickey; their capture dates are distinct from the dated events. The five Commons files use individually checked public-domain/Creative Commons terms. Course video availability and book records are kept separate from these image rights. Images are unchanged apart from thumbnail scaling.