A Meta Lambda Calculus with Cross-Level Computation

被引:0
|
作者
Tobisawa, Kazunori [1 ]
机构
[1] Univ Tokyo, Grad Sch Math Sci, Tokyo 1138654, Japan
关键词
lambda calculus; metavariables; textual substitution; dynamic binding;
D O I
10.1145/2775051.2676976
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We propose meta lambda calculus lambda* as a basic model of textual substitution via metavariables. The most important feature of the calculus is that every beta-redex can be reduced regardless of whether the beta-redex contains meta-level variables or not. Such a meta lambda calculus has never been achieved before due to difficulty to manage binding structure consistently with alpha-renaming in the presence of meta-level variables. We overcome the difficulty by introducing a new mechanism to deal with substitution and binding structure in a systematic way without the notion of free variables and alpha-renaming. Calculus lambda* enables us to investigate cross-level terms that include a certain type of level mismatch. Cross-level terms have been regarded as meaningless terms and left out of consideration thus far. We find that some cross-level terms behave as quotes and 'eval' command in programming languages. With these terms, we show a procedural language as an application of the calculus, which sheds new light on the notions of stores and recursion via metalevel variables.
引用
收藏
页码:383 / 393
页数:11
相关论文
共 50 条