Abstract
We give a Haskell implementation of Filinski’s normalisation by evaluation algorithm for the computational lambda-calculus with sums. Taking advantage of extensions to the GHC compiler, our implementation represents objectlanguage types as Haskell types and ensures that type errors are detected statically.Following Filinski, the implementation is parameterised over a residualising monad. The standard residualising monad for sums is a continuation monad. Defunctionalising the uses of the continuation monad we present the bindingtree monad as an alternative.
Original language | English |
---|---|
Publication status | Published - 2009 |
Event | 2009 Workshop on Normalization by Evaluation - Los Angeles, United States Duration: 15 Aug 2009 → 15 Aug 2009 |
Conference
Conference | 2009 Workshop on Normalization by Evaluation |
---|---|
Country/Territory | United States |
City | Los Angeles |
Period | 15/08/09 → 15/08/09 |