Islands: aliasing protection in object-oriented languages
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
The Geneva convention on the treatment of object aliasing
ACM SIGPLAN OOPS Messenger
Ownership types for flexible alias protection
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Representation independence, confinement and access control [extended abstract]
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Capabilities for Sharing: A Generalisation of Uniqueness and Read-Only
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Modular invariants for layered object structures
Science of Computer Programming - Special issue on source code analysis and manipulation (SCAM 2005)
Separating ownership topology and encapsulation with generic universe types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
Exporting objects by reference can be problematic since the receivers can use the received reference to perform state changing operations on the referenced object. This can lead to errors if the referenced object is a subobject of a compound object not anticipating the change. We propose an extension of a type system with a read-only construct that can be used to control access to state changing methods. We formulate and prove a read-only theorem for read-only references stating that a read-only reference cannot be used to perform operations that change its referenced object state.