A typechecker for intensional MLTT without elaboration.
src | ||
.gitignore | ||
makefile | ||
pi.ipkg | ||
README.md |
pi
A dependently typed system
Implemented
A Basic dependent lambda calculus
- lambda abstractions
- variables
- pi types
- type of types
Unit type
Empty type
Natural numbers
Σ Types
TODO
Let … in …
Parser
Fun types
- Id
Universes
Implicit arguments
(indexed) inductive datatypes
Write down the rules (I’ll not get this far)
References
Some of the material I found helpful in groking dependent type checking:
Coquand, Thierry. “An Algorithm for Type-Checking Dependent Types.” Science of Computer Programming 26, no. 1–3 (May 1996): 167–77. https://doi.org/10.1016/0167-6423(95)00021-6.
Brady, Edwin. “SPLV20 course notes”. GitHub. https://github.com/edwinb/SPLV20