Title
Attached and detached closures in actors.
Abstract
Expressive actor models combine aspects of functional programming into the pure actor model enriched with futures. Such functional features include first-class closures which can be passed between actors and chained on futures. Combined with mutable objects, this opens the door to race conditions. In some situations, closures may not be evaluated by the actor that created them yet may access fields or objects owned by that actor. In other situations, closures may be safely fired off to run as a separate task. This paper discusses the problem of who can safely evaluate a closure to avoid race conditions, and presents the current solution to the problem adopted by the Encore language. The solution integrates with Encore's capability type system, which influences whether a closure is attached and must be evaluated by the creating actor, or whether it can be detached and evaluated independently of its creator. Encore's current solution to this problem is not final or optimal. We conclude by discussing a number of open problems related to dealing with closures in the actor model.
Year
DOI
Venue
2018
10.1145/3281366.3281371
SPLASH '18: Conference on Systems, Programming, Languages, and Applications: Software for Humanity Boston MA USA November, 2018
Keywords
Field
DocType
closures,parallel programming,concurrent programming,type systems
Closure (computer programming),Functional programming,Futures contract,Computer science,Human–computer interaction,Concurrent computing,Actor model,Distributed computing
Conference
ISBN
Citations 
PageRank 
978-1-4503-6066-1
0
0.34
References 
Authors
10
5
Name
Order
Citations
PageRank
Elias Castegren1204.18
Dave Clarke241626.19
Kiko Fernandez-Reyes301.35
Tobias Wrigstad419422.95
Albert Mingkun Yang5323.46