Abstract
The λσ-calculus is a concrete λ-calculus of explicit substitutions, designed for reasoning about implementations of λ-calculi. Higher-order abstract syntax is an approach to metaprogramming that explicitly captures the variable-binding aspects of programming language constructs. A new calculus of explicit substitutions for higher-order abstract syntax is introduced, allowing a high-level description of variable binding in object languages while also providing substitutions as explicit programmer-manipulable data objects. The new calculus is termed the λσβ0-calculus, since it makes essential use of an extension of β0-unification (described in another paper). Termination and confluence are verified for the λσβ0-calculus similarly to that for the λσ-calculus, and an efficient implementation is given in terms of first-order renaming substitutions. The verification of confluence makes use of a verified adaptation of Nipkow's higher-order critical pairs lemma to the forms of rewrite rules required for the statement of the λσβ0-calculus.
| Original language | English |
|---|---|
| Pages (from-to) | 1-53 |
| Number of pages | 53 |
| Journal | Information and Computation |
| Volume | 164 |
| Issue number | 1 |
| DOIs | |
| State | Published - 10 Jan 2001 |
Fingerprint
Dive into the research topics of 'Higher-order substitutions'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver