为Plotkin带常数传名调用λ演算定义了一个新的CPS(continuation-passing-style)变换方法.方法基于求值上下文变换,新颖之处在于,每次传递二值给继续而不是常规的一值.先给出二值CPS变换编码,再在此基础上定义CPS语言,最后建立源语言和CPS语言的一一映射关系并证明Plotkin的模拟定理.与Plotkin的工作比较,工作特点在于,给出了一个CPS归约闭语言,该语言中所有继续都可以用函数形式表达,且模拟定理的可靠性和完备性方向证明更为简单.
In this paper, a new CPS (continuation-passing-style) transformation for Plotkin's call-by-name 2 calculus with constants is proposed. It is based on evaluation contexts transformation and the features that two values, instead of one, are passed to the continuation every time. With encodings, a CPS language is introduced. Then, Plotkin's simulation theorem is proved by establishing 1-to-1 correspondence between the source language and CPS language. Compared with Plotkin's work, a reduction closed CPS language is defined in which all continuations are explicitly expressed as functional encodings and it is simpler to prove both the soundness and completeness directions of simulation theorem.