Conversational Concurrency with Dataspaces and Facets
Sam Caldwell (Northeastern University, USA), Tony Garnock-Jones, (Maastricht University, Netherlands), Matthias Felleisen (Northeastern, University, USA)

TL;DR
This paper introduces Syndicate, a language that enhances actor-based concurrency by supporting shared conversational context and actor reflection, enabling more natural and flexible multi-conversational programming.
Contribution
It presents novel language features—dataspaces and facets—that extend actor models to better handle context management and parallel conversations.
Findings
Syndicate's dataspace allows actors to share and query assertions.
Facets enable actors to reflect on ongoing conversations.
Comparison shows Syndicate offers unique support not found in other languages.
Abstract
Context: Developers have come to appreciate the simplicity of message-passing actors for concurrent programming tasks. The actor model of computation is easy to grasp; it is just a conversation among actors with a common goal. Importantly, it eliminates some basic pitfalls of the dominant shared-memory model, most critically data races. Inquiry: A close look at real-world conversations suggests, however, that they are not mere exchanges of messages. Participants must keep in mind conversational context, and participants joining late can and often must acquire some of this context. In addition, some settings call for engaging in several conversations in parallel; in others, participants conduct temporarily limited sub-conversations to clarify a point. Existing actor code exhibits complex design patterns that get around the underlying limitations of the pure message-passing model.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
