2008
DOI: 10.1007/978-3-540-68265-3_9
|View full text |Cite
|
Sign up to set email alerts
|

Implementing Joins Using Extensible Pattern Matching

Abstract: Abstract. Join patterns are an attractive declarative way to synchronize both threads and asynchronous distributed computations. We explore joins in the context of extensible pattern matching that recently appeared in languages such as F# and Scala. Our implementation supports join patterns with multiple synchronous events, and guards. Furthermore, we integrated joins into an existing actor-based concurrency framework. It enables join patterns to be used in the context of more advanced synchronization modes, s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
38
0

Year Published

2008
2008
2021
2021

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 30 publications
(38 citation statements)
references
References 20 publications
0
38
0
Order By: Relevance
“…Fournet and Gonthier briefly describe an extension of the join calculus with partial failure and remote failure detection [21]. The aspect join calculus can also serve as a basis to implement concurrent and distributed aspects in other languages for which a variant of the join calculus has been developed, such as Cω [6] and Scala Joins [26]. Another interesting perspective is to study the application of aspects in chemical engines for Cloud computing.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…Fournet and Gonthier briefly describe an extension of the join calculus with partial failure and remote failure detection [21]. The aspect join calculus can also serve as a basis to implement concurrent and distributed aspects in other languages for which a variant of the join calculus has been developed, such as Cω [6] and Scala Joins [26]. Another interesting perspective is to study the application of aspects in chemical engines for Cloud computing.…”
Section: Discussionmentioning
confidence: 99%
“…5 This paper develops the formal foundations of distributed AOP using a chemical calculus, essentially a variant of the distributed join calculus [22]. The join calculus is a functional name-passing calculus based on the chemical abstract machine and implemented in several mainstream languages like OCaml [24], C# [6] and Scala [26]. Chemical execution engines are also being developed for Cloud computing [45,40].…”
Section: Introductionmentioning
confidence: 99%
“…In practice, one could implement a default FIFO behavior, or allow the programmer to specify the scheduling algorithm [7,9,10]. Join patterns [17,4,18] could also be introduced as a scheduling and synchronization mechanism for incoming messages. Regarding coordination of tasks, in the presented model, tasks are activated nondeterministically when they are ready.…”
Section: Discussionmentioning
confidence: 99%
“…Second generation join languages (e.g., JErlang [16]) support n-ary predicates but no streams. Scala Joins [3] are special, isolated, case of predicated join language supporting only intra-event conditions ( 1, #, 1 ). Generic correlation #, #, # .…”
Section: State Of the Art Of Cedmentioning
confidence: 99%