Fowler, S. , Lindley, S. and Wadler, P. (2017) Mixing Metaphors: Actors as Channels and Channels as Actors. In: 31st European Conference on Object-Oriented Programming (ECOOP 2017), Barcelona, Spain, 18-23 Jun 2017, p. 11. ISBN 9783959770354 (doi: 10.4230/LIPIcs.ECOOP.2017.11)
![]() |
Text
223076.pdf - Published Version Available under License Creative Commons Attribution. 767kB |
Abstract
Channel- and actor-based programming languages are both used in practice, but the two are often confused. Languages such as Go provide anonymous processes which communicate using buffers or rendezvous points---known as channels---while languages such as Erlang provide addressable processes---known as actors---each with a single incoming message queue. The lack of a common representation makes it difficult to reason about translations that exist in the folklore. We define a calculus lambda-ch for typed asynchronous channels, and a calculus lambda-act for typed actors. We define translations from lambda-act into lambda-ch and lambda-ch into lambda-act and prove that both are type- and semantics-preserving. We show that our approach accounts for synchronisation and selective receive in actor systems and discuss future extensions to support guarded choice and behavioural types.
Item Type: | Conference Proceedings |
---|---|
Additional Information: | This work was supported by EPSRC grants EP/L01503X/1 (University of Edinburgh CDT in Pervasive Parallelism) and EP/K034413/1 (A Basis for Concurrency and Distribution). |
Status: | Published |
Refereed: | Yes |
Glasgow Author(s) Enlighten ID: | Fowler, Dr Simon |
Authors: | Fowler, S., Lindley, S., and Wadler, P. |
College/School: | College of Science and Engineering > School of Computing Science |
ISSN: | 1868-8969 |
ISBN: | 9783959770354 |
Copyright Holders: | Copyright © 2017 Simon Fowler, Sam Lindley, and Philip Wadler |
First Published: | First published in Proceedings of the 31st European Conference on Object-Oriented Programming (ECOOP 2017): 11 |
Publisher Policy: | Reproduced under a Creative Commons License |
University Staff: Request a correction | Enlighten Editors: Update this record