Conflation confers concurrency

Robert Atkey, Sam Lindley, J. Garrett Morris

Research output: Chapter in Book/Report/Conference proceedingChapter

10 Citations (Scopus)
45 Downloads (Pure)

Abstract

Session types provide a static guarantee that concurrent programs respect communication protocols. Recent work has explored a correspondence between proof rules and cut reduction in linear logic and typing and evaluation of process calculi. This paper considers two approaches to extend logically-founded process calculi. First, we consider extensions of the process calculus to more closely resemble π-calculus. Second, inspired by denotational models of process calculi, we consider conflating dual types. Most interestingly, we observe that these approaches coincide: conflating the multiplicatives (⊗ and 
⅋) allows processes to share multiple channels; conflating the additives (⊕ and &) provides nondeterminism; and conflating the exponentials (! and ?) yields access points, a rendezvous mechanism for initiating session typed communication. Access points are particularly expressive: for example, they are sufficient to encode concurrent state and general recursion.
Original languageEnglish
Title of host publicationA List of Successes That Can Change the World
Subtitle of host publicationEssays Dedicated to Philip Wadler on the Occasion of His 60th Birthday
EditorsSam Lindley, Conor McBride, Phil Trinder, Don Sannella
PublisherSpringer
Pages32-55
Number of pages24
Volume9600
ISBN (Print)9783319309354
DOIs
Publication statusPublished - 28 Apr 2016

Publication series

NameLecture Notes in Computer Science
PublisherSpringer
Volume9600

    Fingerprint

Keywords

  • proof rules
  • cut reduction
  • linear logic
  • process calculi

Cite this

Atkey, R., Lindley, S., & Morris, J. G. (2016). Conflation confers concurrency. In S. Lindley, C. McBride, P. Trinder, & D. Sannella (Eds.), A List of Successes That Can Change the World: Essays Dedicated to Philip Wadler on the Occasion of His 60th Birthday (Vol. 9600, pp. 32-55). (Lecture Notes in Computer Science; Vol. 9600). Springer. https://doi.org/10.1007/978-3-319-30936-1_2