pi/README.md
2022-07-26 23:07:43 +02:00

46 lines
873 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# pi
A dependently typed system
# Implemented
* A Basic dependent lambda calculus
* lambda abstractions
* variables
* pi types
* type of types
* let ... in ...
* Unit type
* Empty type
* Natural numbers
* Σ Types
# TODO
* Performence optimisation
* Parsing !!! (this is like 90% of the time currently lmao)
* Memoize normalisation and conversion somehow?
* Universes
* Implicit arguments
* (indexed) inductive datatypes
* Write down the rules (I'll not get this far)
* Compile to scheme
# 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. 13 (May 1996): 16777. https://doi.org/10.1016/0167-6423(95)00021-6.
* Brady, Edwin. "SPLV20 course notes". GitHub. https://github.com/edwinb/SPLV20