Higher-Order and Symbolic Computation, 19(2/3)
Explicit Substitutions and Higher-Order Syntax
Neil Ghani, School of Computer Science and IT, University
of Nottingham, Nottingham, United Kingdom
Tarmo Uustalu, Institute of Cybernetics, Tallinn University of
Technology, Tallinn, Estonia
Makoto Hamana, Department of Computer Science, Gunma
University, Gunma, Japan
|
Abstract: Recently there has been a great
deal of interest in higher-order syntax which seeks to extend
standard initial algebra semantics to cover languages with
variable binding. The canonical example studied in the
literature is that of the untyped lambda-calculus which is
handled as an instance of the general theory of binding
algebras, cf. Fiore, Plotkin, Turi.
Another important syntactic construction is that of
explicit substitutions which are used to model local
definitions and to implement reduction in the
lambda-calculus. The syntax of a language with explicit
substitutions does not form a binding algebra as an explicit
substitution may bind an arbitrary number of variables. Thus
explicit substitutions are a natural test case for the further
development of the theory and applications of syntax with
variable binding.
This paper shows that a language containing explicit
substitutions and a first-order signature Sigma is naturally
modelled as the initial algebra of the
Id + F_Sigma o _ + _ o _
endofunctor. We derive a similar formula for adding explicit
substitutions to the untyped lambda-calculus and then show
these initial algebras provide useful datatypes for
manipulating abstract syntax by implementing two reduction
machines. We also comment on the apparent lack of modularity
in syntax with variable binding as compared to first-order
languages.
|
This article is not yet available.
|
|