Write a Blog >>
Thu 22 Jun 2017 16:15 - 16:40 at Auditorium, Vertex Building - Calculi and Semantics Chair(s): Colin Gordon

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 λch for typed asynchronous channels, and a calculus λact for typed actors. We define translations from λact into λch and λch into λ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.

Thu 22 Jun
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

15:50 - 17:30: Calculi and SemanticsECOOP Research Papers at Auditorium, Vertex Building
Chair(s): Colin GordonDrexel University
15:50 - 16:15
Talk
ECOOP Research Papers
Martin Berger, Laurence TrattKing's College London, Christian UrbanKing's College London
Link to publication Media Attached
16:15 - 16:40
Talk
ECOOP Research Papers
Simon FowlerThe University of Edinburgh, Sam LindleyUniversity of Edinburgh, UK, Philip WadlerUniversity of Edinburgh, UK
Link to publication Pre-print Media Attached
16:40 - 17:05
Talk
ECOOP Research Papers
Weili FuUniversity of Edinburgh, Roly PereraUniversity of Edinburgh, UK / University of Glasgow, UK, Paul AndersonUniversity of Edinburgh, James CheneyUniversity of Edinburgh, UK
Link to publication Media Attached
17:05 - 17:30
Talk
ECOOP Research Papers
Fei Wang, Tiark RompfPurdue University
Link to publication Media Attached