乔丹

MJ(middleweightjava)-MJ:一个用于Java和Java的强制核心演算。为了便于研究小的面向对象的语言,例如面向计算的小片段或小的证明。然而,目前许多关于微积分的建议缺乏重要的语言特征。在本文中,我们提出中量级Java,MJ,作为Java最小命令核心演算的竞争者。虽然紧凑,MJ模型的特点,如对象标识,字段分配,构造函数方法和块结构。定义了MJ的语法、类型系统和操作语义,并给出了类型安全性的证明。为了证明MJ对操作特性进行推理的有用性,我们考虑了greenous和Boyland最近提出的用效果系统扩展Java的提议。这个效果系统的目的是在Java程序中限定计算效果的范围。我们定义了一个具有相似效果系统的MJ扩展,并引入了操作语义。然后我们证明了效果系统的正确性;这是温室和博伊兰留下的一个问题。我们还考虑了扩展演算中的效果推理问题,给出了一种推导效果信息的算法,并给出了正确性的证明。