11# Lambda Calculus Examples
22
33A series of Lambda Calculus implementations starting from Simply Typed
4- evaluation, then work up through bidirectional typechecking,
5- normalization by evaluation, elaboration and then various type system
6- extensions.
4+ evaluation, then work up through bidirectional typechecking, normalization by
5+ evaluation, elaboration and various type system extensions.
76
87These examples build up sequentially, but each module is a standalone program
98that can be read independently. we skip parsing for brevity but include pretty
109printers from the concrete syntax to a human readable notation to make the
1110examples easier to read.
1211
13- The goal is to provide best practices examples of all the features you
14- might want to include in your custom language in one place.
12+ The goal is to provide best practices examples of all the features you might
13+ want to include in your custom language in one place.
1514
1615- [X] SimplyTypedEvaluation
1716- [X] BidirectionalTypechecking
@@ -27,15 +26,17 @@ might want to include in your custom language in one place.
2726- [X] Martin-Lof Type Theory (Pi and Sigma Types)
2827- [X] Type Universes
2928- [X] Universe Polymorphism
29+ - [ ] Indexed Inductive Types (with eliminators)
30+ - [ ] Dependent Patern Matching
31+ - [ ] Case-Trees
32+ - [ ] Termination / Coverage Checking
3033- [ ] Implicit Universe Levels with Constraint Solving
3134- [ ] Tarski Universes
3235- [ ] Implicits
33- - [ ] Indexed Inductive Types
34- - [ ] Equality
35- - [ ] Case-Trees
3636- [ ] Row Polymorphism
3737- [ ] Linear Types
3838- [ ] View Patterns
39+ - [ ] Cubical
3940- [ ] Modules
4041
4142Additionally we plan to provide complete examples of STLC, SystemF, and MLTT
0 commit comments