Higher-order substitutions

被引:1
|
作者
Duggan, D [1 ]
机构
[1] Stevens Inst Technol, Dept Comp Sci, Hoboken, NJ 07030 USA
关键词
D O I
10.1006/inco.2000.2887
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The lambda sigma -calculus is a concrete lambda -calculus of explicit substitutions, designed for reasoning about implementations of lambda -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 lambda sigma beta (0)-calculus, since it makes essential use of an extension of beta (0)-unification (described in another paper). Termination and confluence are verified for the lambda sigma beta (0)-calculus similarly to that for the ncr-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 lambda sigma beta (0)-calculus. (C) 2001 Academic Press.
引用
收藏
页码:1 / 53
页数:53
相关论文
共 50 条