minitt 0.0.5

Mini-TT, a dependently-typed lambda calculus, implementated in Rust
Documentation

minitt-rs

Crates.io Crates.io Crates.io docs.rs Build status CircleCI

Rust implementation of Mini-TT, a simple dependently-typed lambda calculus. It can be used as a core language for complicated dependently-typed programming languages, or used for testing the correctness of translation algorithms.

I'm trying my best to use complete and meaningful namings. I'm also doing a general clean-up of the Haskell implementation and comment the functions with their counterparts' names in the Haskell implementation so people don't get confused when they read the paper while reading this implementation.

Mini-TT Paper

Plan

  • Initial version: just clone, clone, clone and simulate the Haskell implementation
  • Update: use mutable Vec/BTreeMap for telescopes instead of functional immutable lists to improve efficiency
  • Update: replace the use of Clone/Box to the use of Rc
  • Update: add a parser, enabled with feature