Functional Programming With Higher-order Abstract Syntax and Explicit Substitutions

Brigitte Pientka
2007 Electronical Notes in Theoretical Computer Science  
This paper sketches a foundation for programming with higher-order abstract syntax and explicit substitutions based on contextual modal type theory [9] . Contextual modal types not only allows us to cleanly separate the representation of data objects from computation, but allow us to recurse over data objects with free variables. In this paper, we extend these ideas even further by adding first-class contexts and substitutions so that a program can pass and access code with free variables and
more » ... explicit environment, and link them in a type-safe manner. We sketch the static and operational semantics of this language, and give several examples which illustrate these features.
doi:10.1016/j.entcs.2006.10.037 fatcat:dwyffkssurg7pg6fxkx56vkyh4