一句话:提出语言 May,用继承式单调对象演化与仿射权限系统,在允许别名时静态保证对象重分类安全。
本文研究在允许别名的情况下如何安全地进行 typestate 与对象重分类。作者采用单调对象演化思路,要求对象只能获得属性而不能丢失属性,从而兼容别名。论文形式化并原型实现了新语言 May,其核心是基于继承的演化机制:对象的运行时类可沿继承层次变为子类。为静态保证演化一定成功,作者引入一种简单的仿射权限系统,确保可演化引用始终与对象的运行时类型匹配。最后,论文通过实例表明该系统能够类型安全地表达分阶段操作和复杂初始化过程,并给出原型实现验证其可行性。
Object evolution is a monotonic approach to typestate and object reclassification, enforcing that objects may gain, but not lose properties, to permit aliasing. We present a formalization and prototype implementation of our new language May , featuring inheritance-based evolution that changes the run-time class of an object to a subclass. To statically guarantee evolution succeeds, we introduce a simple affine permission system for ensuring evolvable references match the run-time type of an object. Furthermore, we demonstrate that our system provides an effective and type-safe way of expressing staged operations and complex initialization procedures.
@article{paperbot3786,
title = {Type-Safe Monotonic Object Evolution},
author = {Alexandra Mirrlees-Black and Haoyu Wu and Gregor Richards and Fabian Muehlboeck},
journal = {Proceedings of the ACM on Programming Languages},
volume = {10},
number = {OOPSLA1},
year = {2026},
doi = {10.1145/3798252}
}