Actors with Multi-Headed Message Receive Patterns

Martin Sulzmann, Edmund Soon Lee Lam, Peter Van Weert

    Research output: Journal Article or Conference Article in JournalConference articleResearchpeer-review

    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 multi-headed message receive patterns. The system can be implemented efficiently and we have built a prototype as a library-extension to Haskell.
    Original languageEnglish
    Book seriesLecture Notes in Computer Science
    Pages (from-to)315-330
    ISSN0302-9743
    Publication statusPublished - 2008
    Event10th international conference on Coordination Models and Languages (Coordination'08) - Oslo, Norway
    Duration: 4 Jun 20086 Jun 2008
    Conference number: 10

    Conference

    Conference10th international conference on Coordination Models and Languages (Coordination'08)
    Number10
    Country/TerritoryNorway
    CityOslo
    Period04/06/200806/06/2008

    Keywords

    • Actor model
    • Concurrency
    • Message passing
    • Pattern matching
    • Multi-headed patterns

    Cite this