HackerPapers

arXiv:1611.06276cs.PL

Mixing Metaphors: Actors as Channels and Channels as Actors (Extended Version)

Simon Fowler, Sam Lindley, Philip Wadler

Early discovery. Linked by one identifiable commenter. This paper is outside the main ranking; a mention is not an endorsement.

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

arXiv comments
Extended version of paper appearing at ECOOP'17
Journal reference
DOI
Subjects
cs.PLProgramming Languages

On Hacker News

Linked by 1 identifiable commenter in 1 comment across 1 thread, from Aug 2018 to Aug 2018.

Comments linking this paper, per year.

Discussed in comments1 thread

    • I find this resource confusing and annoying to read. When performing my thesis research I wasted a bunch of time trying to make sense of Hewitt's writing. I think a big problem is that the term "actor model" is so overloaded that it almost becomes meaningless. The actors that…

      ZalastaxView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.