JoinActors: A Modular Library for Actors with Join Patterns
Ayman Hussein (Technical University of Denmark, Denmark), Philipp Haller (KTH Royal Institute of Technology, Sweden), Ioannis Karras (Technical University of Denmark, Denmark), Hern\'an Melgratti (University of Buenos Aires, Argentina / CONICET, Argentina)

TL;DR
JoinActors is a modular Scala 3 library that implements join patterns with an extensible matching algorithm framework, enabling intuitive syntax and performance evaluation for message-passing applications.
Contribution
This work presents an improved, modular version of JoinActors, leveraging metaprogramming for an intuitive API and supporting multiple matching algorithms for better performance customization.
Findings
Supports multiple matching algorithms with different optimizations
Enables integration of join patterns into existing Scala 3 codebases
Demonstrates performance benefits through benchmarking
Abstract
Join patterns are a high-level programming construct for message-passing applications. They offer an intuitive and declarative approach for specifying how concurrent and distributed components coordinate, possibly depending on complex conditions over combinations of messages. Join patterns have inspired many implementations -- but most of them are not available as libraries: rather, they are domain-specific languages that can be hard to integrate into pre-existing ecosystems. Moreover, all implementations ship with a predefined matching algorithm, which may not be optimal depending on the application requirements. These limitations are addressed by `JoinActors`, a recently published library which integrates join patterns in the off-the-shelf Scala 3 programming language, and is designed to be modular w.r.t. the matching algorithm in use. In this work we address the problem of…
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.
Taxonomy
TopicsLogic, programming, and type systems · Parallel Computing and Optimization Techniques · Advanced Software Engineering Methodologies
