Type-Safe Monotonic Object Evolution (Technical Report)

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

Research Projects

Organizational Units

Journal Issue

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

Source

Book Title

Entity type

Publication

Access Statement

Open Access

License Rights

Creative Commons License (Attribution, No Derivatives 4.0 International)

Restricted until