Read-only execution for dynamic languages

Arnaud J.-B.; Denker M.; Ducasse, S; Pollet D.; Bergel, A; Suen M.

Keywords: objects, flows, structures, complex, graphs, language, control, data, languages, object, dynamic, linguistics, effect, programming, side, oriented, Smart, Typechecking

Abstract

Supporting read-only and side effect free execution has been the focus of a large body of work in the area of statically typed programming languages. Read-onlyness in dynamically typed languages is difficult to achieve because of the absence of a type checking phase and the support of an open-world assumption in which code can be constantly added and modified. To address this issue, we propose Dynamic Read-Only references (DRO) that provide a view on an object where this object and its object graph are protected from modification. The read-only view dynamically propagates to aggregated objects, without changing the object graph itself; it acts as a read-only view of complex data structures, without making them read-only globally. We implement dynamic read-only references by using smart object proxies that lazily propagate the read-only view, following the object graph and driven by control flow and applied them to realize side-effect free assertions. © 2010 Springer-Verlag.

Más información

Título de la Revista: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volumen: 6141
Editorial: Society of Laparoendoscopic Surgeons
Fecha de publicación: 2010
Página de inicio: 117
Página final: 136
URL: http://www.scopus.com/inward/record.url?eid=2-s2.0-77954698640&partnerID=q2rCbXpz