Open this publication in new window or tab >>Show others...
2021 (English)In: PROCEEDINGS OF THE 2021 ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON NEW IDEAS, NEW PARADIGMS, AND REFLECTIONS ON PROGRAMMING AND SOFTWARE, ONWARD! 2021 / [ed] DeMeuter, W and Baniassad, E, Association for Computing Machinery (ACM), 2021Conference paper, Published paper (Refereed)
Abstract [en]
Dynamic languages like Erlang, Clojure, JavaScript, and E adopted data-race freedom by design. To enforce data-race freedom, these languages either deep copy objects during actor (thread) communication or proxy back to their owning thread. We present Dala, a simple programming model that ensures data-race freedom while supporting efficient inter-thread communication. Dala is a dynamic, concurrent, capability-based language that relies on three core capabilities: immutable values can be shared freely; isolated mutable objects can be transferred between threads but not aliased; local objects can be aliased within their owning thread but not dereferenced by other threads. Objects with capabilities can co-exist with unsafe objects, that are unchecked and may suffer data races, without compromising the safety of safe objects. We present a formal model of Dala, prove data race-freedom and state and prove a dynamic gradual guarantee. These theorems guarantee data race-freedom when using safe capabilities and show that the addition of capabilities is semantics preserving modulo permission and cast errors.
Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2021
National Category
Computer Systems
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-425127 (URN)10.1145/3486607.3486747 (DOI)001304072600002 ()2-s2.0-85119049302 (Scopus ID)978-1-4503-9110-8 (ISBN)
Conference
International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!), OCT 20-22, 2021, Chicago, IL, USA
2020-11-122020-11-122025-09-10Bibliographically approved