Actors with multi-headed message receive patterns

  • Authors:
  • Martin Sulzmann;Edmund S. L. Lam;Peter Van Weert

  • Affiliations:
  • Programming, Logics and Semantics Group, IT University of Copenhagen, Copenhagen S, Denmark;School of Computing, National University of Singapore, Singapore;Department of Computer Science, Katholieke Universiteit Leuven, Heverlee, Belgium

  • Venue:
  • COORDINATION'08 Proceedings of the 10th international conference on Coordination models and languages
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 multiheaded message receive patterns. The system can be implemented efficiently and we have built a prototype as a library-extension to Haskell.