Many calculi exist for modelling various features of object-oriented languages. Many of them are based on $\lambda$-calculus and focus either on statically typed class-based languages or dynamic prototype-based languages. We formalize untyped calculus of decorated objects, informally presented by Bugayenko, which is defined in terms of objects and relies on decoration as a primary mechanism of object extension. It is not based on $\lambda$-calculus, yet with only four basic syntactic constructions is just as complete. We prove the calculus is confluent (i.e. possesses Church-Rosser property), and introduce an abstract machine for call-by-name evaluation. Finally, we provide a sound translation to $\lambda$-calculus with records.
翻译:许多计算器可用于模拟以目标为导向的语言的各种特征。 许多计算器基于 $\ lambda$- calculus, 以静态打字类语言或动态原型语言为主。 我们正式确定标注对象的非类型计算器, 由按对象定义的布加延科非正式介绍, 并以装饰作为对象扩展的主要机制。 它不是以 $\lambda$- calculs 为基础, 但是只有四种基本的合成构件是完全的。 我们证明这些计算器具有共性( 即拥有教会- Roser 属性 ), 并引入了按名评价的抽象机器 。 最后, 我们向有记录的 $\ lambda$- caluculus 提供音译法 。