Further Reading and Projects

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

  1. Build a small lambda-calculus evaluator with explicit environments and closures.

  2. Implement a tiny type checker for the simply-typed lambda calculus and extend it with products and sums.

  3. Add a small-step reduction visualizer that records each beta-reduction step.

  4. Implement a lazy evaluator and compare it to eager Python with IF_THUNK.

Proof practice

  1. Prove distributivity of AND over OR using Church booleans.

  2. Encode lists with Church encodings and prove associativity of list append.

  3. Re-derive the Peano arithmetic example using a different numeral representation (e.g., Scott numerals).