Further Reading and Projects#
This section lists ideas for extending the material in this book. The detailed future-improvements plan is in PLAN.md.
Mini-projects
Build a small lambda-calculus evaluator with explicit environments and closures.
Implement a tiny type checker for the simply-typed lambda calculus and extend it with products and sums.
Add a small-step reduction visualizer that records each beta-reduction step.
Implement a lazy evaluator and compare it to eager Python with
IF_THUNK.
Proof practice
Prove distributivity of
ANDoverORusing Church booleans.Encode lists with Church encodings and prove associativity of list append.
Re-derive the Peano arithmetic example using a different numeral representation (e.g., Scott numerals).