Boxes Go Bananas: Encoding Higher-Order Abstract Syntax with Parametric Polymorphism (Extended Version)


<lb>Higher-order abstract syntax is a simple technique for implementing languages with functional programming.<lb>Object variables and binders are implemented by variables and binders in the host language. By using this<lb>technique, one can avoid implementing common and tricky routines dealing with variables, such as capture-<lb>avoiding substitution… (More)