Lambda calculus with explicit recursion

被引:26
作者
Ariola, ZM [1 ]
Klop, JW
机构
[1] Univ Oregon, Dept Comp & Informat Sci, Eugene, OR 97401 USA
[2] CWI, Dept Software Technol, NL-1090 GB Amsterdam, Netherlands
[3] Free Univ Amsterdam, Dept Math & Comp Sci, NL-1081 HV Amsterdam, Netherlands
[4] Free Univ Amsterdam, Dept Comp Sci, NL-1081 HV Amsterdam, Netherlands
基金
美国国家科学基金会;
关键词
D O I
10.1006/inco.1997.2651
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
This paper is concerned with the study of lambda-calculus with explicit recursion, namely of cyclic lambda-graphs. The starting point is to treat a lambda-graph as a system of recursion equations involving lambda-terms and to manipulate such systems in an unrestricted manner, using equational logic, just as is possible for first-order term rewriting. Surprisingly, now the confluence property breaks down in an essential way. Confluence can be restored by introducing a restraining mechanism on the substitution operation. This leads to a family of lambda-graph calculi, which can be seen as an extension of the family of lambda sigma-calculi (lambda-calculi with explicit substitution). While the lambda sigma-calculi treat the let-construct as a first-class citizen, our calculi support the letrsc, a feature that is essential to reason about time and space behavior of functional languages and also about compilation and optimizations of programs. (C) 1997 Academic Press.
引用
收藏
页码:154 / 233
页数:80
相关论文
共 60 条
[1]  
Abadi M., 1991, Journal of Functional Programming, V1, P375, DOI 10.1017/S0956796800000186
[2]  
[Anonymous], 1987, IMPLEMENTATION FUNCT
[3]  
Appel Andrew W., 1992, Compiling with Continuations
[4]  
Ariola Z. M., 1996, Fundamenta Informaticae, V26, P207
[5]  
Ariola Z. M., 1995, POPL 95, P233
[6]  
Ariola ZM, 1996, APPL ALGEBR ENG COMM, V7, P401, DOI 10.1007/BF01293598
[7]   PROPERTIES OF A FIRST-ORDER FUNCTIONAL LANGUAGE WITH SHARING [J].
ARIOLA, ZM ;
ARVIND .
THEORETICAL COMPUTER SCIENCE, 1995, 146 (1-2) :69-108
[8]  
ARIOLA ZM, 1994, IEEE S LOG, P416, DOI 10.1109/LICS.1994.316066
[9]  
ARIOLA ZM, 1994, P TACS 94, P543
[10]  
ARIOLA ZM, 1997, J FUNCT PROGRAMMING, V7