Normalization by Evaluation with Typed Abstract Syntax

Olivier Danvy, Morten Rhiger, Kristoffer H. Rose
2001 BRICS Report Series  
<p>We present a simple way to implement typed abstract syntax for the<br />lambda calculus in Haskell, using phantom types, and we specify <br />normalization by evaluation (i.e., type-directed partial evaluation) to yield this<br />typed abstract syntax. Proving that normalization by evaluation preserves<br /> types and yields normal forms then reduces to type-checking the<br />specification.</p>
doi:10.7146/brics.v8i16.20473 fatcat:mipjem5ccve4lbaw5a5oskoqii