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, such as future-type message sending and token-passing continuations.
L. Schröder, and T. Mossakowski. Journal of Logic and Computation, 14 (4):
571--619(2004)Earlier version appeared in Martin Wirsing, Dirk Pattinson, and Rolf Hennicker (eds.), Recent Trends in Algebraic Development Techniques, 16th International Workshop (WADT 2002), LNCS vol. 2755, Springer, Berlin, 2003, pp. 425-441.
T. Mossakowski, and A. Tarlecki. 17th International Conference on Foundations of Software Science and Computation Structures (FoSSaCS), volume 8412 of Lecture Notes in Computer Science, page 441-456. Springer-Verlag Berlin Heidelberg, (2014)
D. Lücke, and T. Mossakowski. Proceedings of the 5th Starting AI Researcher Symposium (STAIRS 2010), volume 222 of Frontiers in Artificial Intelligence and Applications, page 175-185. IOS Press; Amsterdam; http://www.iospress.nl, (2010)
D. Hausmann, T. Mossakowski, and L. Schröder. Algebra and Coalgebra in Computer Science, volume 3629 of Lecture Notes in Computer Science, page 232-246. Springer; Berlin, (2005)
M. Codescu, and T. Mossakowski. Algebra and Coalgebra in Computer Science, CALCO'11, volume 6859 of Lecture Notes in Computer Science, page 145-160. Springer, (2011)
U. Menne. (2017)cite arxiv:1705.05253Comment: The present text is a version with additional references but without figures of a note compiled for the Notices of the American Mathematical Society. (v4: considerably expanded introduction, 6 pages).