A Type-theoretic Foundation for Programming with Higher-order Abstract Syntax and First-class Substitutions A Type-theoretic Foundation for Programming with Higher-order Abstract Syntax and First-class Substitutions by Brigitte Pientka, appeared in POPL 08. Higher-order abstract syntax (HOAS) is a simple, powerful technique for implementing object languages, since it directly supports common and t