Abstract : The resource-management model of C++ and Rust relies on compiler-generated destructors called predictably and reliably. In current implementations, the generated destructor consumes stack space proportionally to the depth of the structure it destructs. We describe a way to derive destructors for algebraic data types that consume a constant amount of stack and heap. We discuss applicability to C++ and Rust, and also some implication for anyone wishing to extend an ML-style language with first-class resources.
https://hal.inria.fr/hal-02177326
Contributeur : Guillaume Munch-Maccagnoni <>
Soumis le : mardi 9 juillet 2019 - 19:38:41 Dernière modification le : mercredi 24 juin 2020 - 16:19:53