可修改延续的对象演算
在编程领域,控制结构的表达和操作一直是重要的研究方向。一等延续(First-class continuations)为表达各种控制结构提供了便利,但在现有的编程语言和形式系统中,延续通常被具体化(reify)为一等函数,这使得对延续的操作仅限于简单调用。为了探索对一等延续进行其他操作的益处,我们引入了一种对象演算的变体,即 mςκ - 演算,它允许对延续的内容进行访问和修改。
1. 相关基础概念
1.1 对象演算
对象演算是由 Abadi 和 Cardelli 提出的一系列形式系统,用于表述面向对象的计算。其中,ς - 演算(sigma - 演算)是最简单的变体。尽管它的语法和操作语义简单,但包含了面向对象计算的主要特征,如方法调用、方法重写和自参数的延迟绑定。
- 语法 :
a, b ::=
term
x variable
| [li = ς(xi)bi i∈1..n] object
| a.l method invocation, field selection
| a.l↼↽ς(x)b method override, field update
这里, 1..n 表示集合 {1, ..., n} , [li = ς(xi)bi i∈1..n] 是 [l1 = ς(x1)b1, · · ·, ln = ς(xn)bn] 的缩写。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



