面向对象编程中的类型系统与 Java 异常机制
1. 类型系统与对象递归记录语义
在面向对象编程中,类型系统的设计至关重要。有研究对 Wand 的类和对象类型化模型进行了调整和扩展,将其应用于命令式环境,其中对象的状态是一组可变值。主要成果是设计了一个类型系统,该系统仅接受安全的 let rec 声明,同时保留为可类型化项构造主类型的能力。
1.1 方法排除与继承
一些排除方法的示例,如从双端队列类构建栈类,似乎得到了对象自应用语义的支持。引入这样的重用机制会强化“继承不是子类型化”这一事实。
1.2 类型系统优势
该类型系统不会对基础语言施加任何新的限制。在基础语言中,递归仅限于 (let rec x = N in M) 形式,其中 N 是一个值。可以证明,该语言中的一个项在不使用度的情况下可类型化,当且仅当它在这个新系统中以“相同”类型可类型化,这表明该类型系统是通常类型系统的保守扩展(如果忽略度的话)。类型重建基于求解非常简单的度表达式方程,不会使标准算法复杂化。
2. Java 异常机制概述
Java 的异常机制是其编程的重要组成部分,对程序的可靠性和健壮性有重要影响。
2.1 LOOP 项目目标
荷兰奈梅亨大学的 LOOP 项目旨在使用证明工具(如 PVS 和 Isabelle)以及专用前端编译器(LOOP 工具)对 Java 程序进行验证。该工具将 Java 类转换为后端证明工具的逻辑,其语义的一个显著特点是基于所谓的余代数。
超级会员免费看
订阅专栏 解锁全文

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



