A typechecker for intensional MLTT without elaboration.
Go to file
2022-07-26 06:11:57 +02:00
src identity types ! 2022-07-26 06:09:57 +02:00
tests identity types ! 2022-07-26 06:09:57 +02:00
.gitignore initial commit 2022-04-23 15:18:06 +02:00
makefile identity types ! 2022-07-26 06:09:57 +02:00
pi.ipkg added parser 2022-07-23 03:38:15 +02:00
README.md update readme 2022-07-26 06:11:57 +02:00

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

  • Repl

    • Defs
  • Performence optimisation

    • Memoize normalisation and conversion somehow?
  • Universes

  • Implicit arguments

  • (indexed) inductive datatypes

  • Write down the rules (Ill not get this far)

  • Compile to scheme

References

Some of the material I found helpful in groking dependent type checking: