A typechecker for intensional MLTT without elaboration.
Go to file
2022-07-21 19:51:55 +02:00
src added let ... in ... 2022-07-21 19:51:55 +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 it works ! a lot has changed 2022-05-13 19:46:05 +02:00
README.md added let ... in ... 2022-07-21 19:51:55 +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

  • Parser

  • 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: