Some History of Functional Programming Languages
summary
A clear chain of claims and artifacts: the Lambda calculus yields normal order = lazy evaluation and that becomes practical via graph reduction / combinator implementations in the 1970s; Lisp’s dynamic binding and Algol 60’s stack discipline explain different tradeoffs; runtime typing (Erlang) versus static polymorphic typing (ML/Haskell) gets concrete consequences; Miranda ships in the 1980s and influences Haskell, which adds type classes, and a Burrows prototype builds three combinator machines but the commercial project closes.
AI-written summary · about
chapters (14)
- 0:00Start
- 0:57Lambda Calculus
- 3:22Church-Rosser Theorem
- 6:55Combinators
- 7:46Translating Lambda Expressions into Sk Expressions
- 12:58Algol 60
- 15:49J Operator
- 20:10Multi-Level Pattern Matching
- 23:49Recursive Scope Rules
- 24:29Lazy Evaluation
- 29:35The List of Successes Method
- 31:22Proving Properties of Programs by Structural Induction
- 32:54Set Expressions
- 39:07Haskell
related talks
58mThe Next Great Functional Programming Language
32mDoes FP still matter in the era of AI?
01h 07m50,000 Lines of LLM Haskell: What Broke, What Held, and Letting Go
42mKEYNOTE: Liveness, Literacy, Local First, Lambdas and Llamas
30mConversational Computing: How Okasaki proved McCarthy right again
39mWhy Elixir Matters: A Genealogy of Functional Programming
01h 00mFrom LLM Theory to Practical Agentic Implementations
33mTheory and Models of Lambda Calculus Untyped and Typed - Part 5 of 5
