资 源 简 介
The actor model provides
high-level concurrency abstractions
to coordinate simultaneous computations
by message passing.
Languages implementing the actor model such as Erlang commonly only support
single-headed pattern matching over received messages.
We propose and design an extension of Erlang style actors with
receive clauses containing multi-headed message patterns.
Patterns may be non-linear and constrained by guards.
We provide a number of examples to show the usefulness of the extension.
We also explore the design space for multi-headed message matching semantics, for example
first-match and rule priority-match semantics.
The various semantics are inspired
by the multi-set constraint matching semantics
found in Constraint Handling Rules.
This provides us with a formal model
to study actors with multi-headed message receive patterns.
The system can be implemented efficiently and we have built a prototype as
a library-extension to Haskell.
For more details check out Mar