Scrappy implementations of programming language ideas. Inspired by brendan's language garden
In rough order of complexity:
- math: interpreter for a simple math language
- topl_imperative: intepreter for an imperative language based on Chapter 2 of Theories of Programming Languages by Reynolds
- stlc_bidirectional: bidirectional type checker and interpreter for the simply-typed lambda calculus, directly translated to Rust from brendan's OCaml implementation
- system_f_bidirectional: bidirectional type checker and interpreter for System F (stlc + type parameters), directly translated to Rust from brendan's OCaml implementation