A typechecker for intensional MLTT without elaboration.
Go to file
2022-07-25 00:35:20 +02:00
src changed some case orders to maybe optimize code a bit (maybe?) 2022-07-25 00:35:20 +02:00
.gitignore initial commit 2022-04-23 15:18:06 +02:00
makefile initial commit 2022-04-23 15:18:06 +02:00
pi.ipkg added parser 2022-07-23 03:38:15 +02:00
README.md fixed issues in parser, added η-equality for functions 2022-07-23 06:01:17 +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

  • Fun types

    • Id
  • Repl

  • Universes

  • Performence optimisation

    • Memoize normalisation and conversion somehow?
  • 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: