pi/README.md

52 lines
1.1 KiB
Markdown
Raw Permalink Normal View History

2022-05-16 17:40:01 +02:00
# pi
2022-07-21 00:05:45 +02:00
2022-05-16 17:40:01 +02:00
A dependently typed system
2022-07-21 00:05:45 +02:00
# Implemented
* A Basic dependent lambda calculus
* lambda abstractions
* variables
* pi types
* type of types
2022-07-21 19:51:55 +02:00
* let ... in ...
2022-07-21 00:05:45 +02:00
* Unit type
* Empty type
* Natural numbers
2022-07-21 04:20:20 +02:00
* Σ Types
2022-07-28 04:47:54 +02:00
* Martin-Löf Identity types
2022-05-16 17:40:01 +02:00
2022-08-22 20:49:49 +02:00
# Lacking
2022-07-21 19:51:55 +02:00
2022-08-22 20:49:49 +02:00
Here are some things which are *not* present but could be.
This project has served me well by teaching me about typechecking dependently typed systems. It's likely that the features listed below will not be implemented as I'll move onto other projects and learn more about elaboration.
* Universes
* a la tarksi
* Inductives
* W types
* Indexed inductives
2022-07-26 06:11:57 +02:00
2022-07-28 04:47:54 +02:00
* Elaboration
* Implicit arguments
* Universe family application
2022-07-28 15:46:00 +02:00
* Syntax level russel universes
* Universe of all other universes? (universe polymorphism)
2022-07-28 04:47:54 +02:00
# 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