pith. sign in

arxiv: 1701.04920 · v1 · pith:QXTJ4MO4new · submitted 2017-01-18 · 💻 cs.LO

Non-Blocking Concurrent Imperative Programming with Session Types

classification 💻 cs.LO
keywords non-blockinglanguageconcurrentimperativemessageprogrammingabstractalways
0
0 comments X
read the original abstract

Concurrent C0 is an imperative programming language in the C family with session-typed message-passing concurrency. The previously proposed semantics implements asynchronous (non-blocking) output; we extend it here with non-blocking input. A key idea is to postpone message reception as much as possible by interpreting receive commands as a request for a message. We implemented our ideas as a translation from a blocking intermediate language to a non-blocking language. Finally, we evaluated our techniques with several benchmark programs and show the results obtained. While the abstract measure of span always decreases (or remains unchanged), only a few of the examples reap a practical benefit.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.