Software Design by Example in Lean
Lean4
- Introduction
- Values, Types, and Functions
- Algebraic Data Types
- The Option Type
- Error Handling and IO
- Type Classes and Recursion
Designs
- Objects and Classes
- Finding Duplicate Files
- Matching Patterns
- Parsing Text
- Running Tests
- An Interpreter
- Functions and Closures
- A File Archiver
- An HTML Validator
- A Template Expander
- A Code Linter
- Page Layout
- Binary Data
- A Database
- A Build Manager
- A Package Manager
- A Virtual Machine
- Generating Documentation
- A Discrete Event Simulator
- Conclusion
Appendices
start where you are · use what you have · help who you can