A Simple Take on Typed Abstract Syntax in Haskell-like Languages [chapter]

Olivier Danvy, Morten Rhiger
2001 Lecture Notes in Computer Science  
We present a simple way to program typed abstract syntax in a language following a Hindley-Milner typing discipline, such as Haskell and ML, and we apply it to automate two proofs about normalization functions as embodied in type-directed partial evaluation for the simply typed lambda calculus: normalization functions (1) preserve types and (2) yield long beta-eta normal forms.
doi:10.1007/3-540-44716-4_22 fatcat:s4ak2dwxbnadzgcr4yhlrgq4li