Skip to content

Latest commit

 

History

History
26 lines (23 loc) · 767 Bytes

README.md

File metadata and controls

26 lines (23 loc) · 767 Bytes

Lambda Calculus Examples

A series of Lambda Calculus implementations starting from Simply Typed evaluation, then work up through bidirectional typechecking, normalization by evaluation, elaboration and then various type system extensions.

The goal is to provide best practices examples of all the features you might want to include in your custom language in one place.

  • SimplyTypedEvaluation
  • BidirectionalTypechecking
  • NormalizationByEvaluation
  • Elaboration
  • TypedHoles
  • SystemT
  • Records
  • Subtyping
  • Inductive Types (with eliminator based pattern matching)
  • Row Polymorphism
  • System F
  • System Omega
  • Linear Types
  • Case-Trees
  • Martin-Lof Type Theory (Pi and Sigma Types)
  • Equality