Skip to content

lunalunaa/pi-forall-kt

Repository files navigation

Introduction

This project was started as a Kotlin implementation of pi-forall, a dependently typed language developed by Stephanie Weirich for teaching purposes, first appeared at OPLSS 2014. However, more features (and many differences) are to be expected in this implementation. So this project would eventually grow out of the original one.

The purpose of this project is for me to familiarize some of the implementation details of common features found in dependently typed programming languages.

Roadmap (subject to rapid change)

  • Basic bidirectional elaborator for MLTT with one universe
    • Terms
    • Top-level definitions
    • Propositional equality
  • Basic inductive data types and pattern matching
  • Universe levels
    • universe polymorphism
  • implicit arguments
  • metavariables(holes)
  • termination checking

Reading List

These are the papers that I found relevant to implementing a dependently typed PL.

Releases

No releases published

Packages

No packages published

Languages