A language in 20 minutes
summary
Claim: a working Lisp engine in 20 minutes that implements arithmetic, conditional logic, variables, user‑defined functions, recursion and lexical closures. Implementation uses a PEG pauser generator called canopy, generates a parse tree, evaluates lists by treating first element as procedure or syntax, and demonstrates factorial = 720 and closures returning functions that capture definition scope. Code and slides are online (slides.jc.com, GitHub). It works as shown but omits floats, strings, macros and tail‑call optimization—useful prototype, not production ready.
AI-written summary · about
chapters (22)
- 0:00Start
- 4:53Operators
- 5:14Expressions
- 6:34Conditional Logic
- 7:17Closures
- 7:57Pausing Expression Grammar
- 9:30How Does the Evaluation Model Work
- 11:03Syntaxes
- 14:01List Module
- 17:20Evaluation Rule
- 17:49Variables
- 19:37Top-Level Scope
- 19:51Built-In Functions
- 21:39Add a Rule for Parsing Lists
- 23:47Defining Variables
- 26:19Functions
- 26:44Lambda
- 27:49Scheme Function Evaluation
- 29:55Conditional Evaluation
- 33:24Syntax Checking
- 34:01Macros
- 37:56What Would Be Your Opinion of a Language That Gives You Lisp like Capabilities in the Sense of Macros
related talks
22mImplement an Esoteric Programming Language for Fun
27mParsing, Compiling, and Static Metaprogramming
47mThere is a bluebird in my talk that wants to get out
48mIt’s birds all the way down: Fun Introduction to Lambda Calculus
01h 03mLambda Calculus For People Who Can't Be Bothered to Learn It - part 2 of 2
26mMake Your Own Programming Language!
13mBrewing JavaScript: Compile your own domain-specific language to JavaScript
59mLambda Calculus For People Who Can't Be Bothered to Learn It - part 1 of 2
