Type-Safe Monotonic Object Evolution (Technical Report)
Date
Authors
Mirrlees-Black, Alexandra
Wu, Haoyu
Richards, Gregor
Muehlboeck, Fabian
Journal Title
Journal ISSN
Volume Title
Publisher
The Australian National University
Access Statement
Open Access
Abstract
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.
Description
This document is the technical report corresponding to the OOSPLA 2026/PACMPL paper "Type-Safe Monotonic Object Evolution", containing additional appendices not included in the journal version.
Keywords
Citation
Collections
Source
Book Title
Entity type
Publication
Access Statement
Open Access
License Rights
Creative Commons License (Attribution, No Derivatives 4.0 International)