A Tutorial Implementation of a Dependently Typed Lambda Calculus
Andres Löh, Conor Thomas McBride, Wouter Swierstra · Fundamenta Informaticae · 2010
We present the type rules for a dependently typed core calculus together with a straight-forward implementation in Haskell. We explicitly highlight the changes necessary to shift from a simply-typed lambda calculus to the dependently typed lambda calculus. We also describe how to extend our core language with data types and write several small example programs. The article is accompanied by an executable interpreter and example code that allows immediate experimentation with the system we describe.