Making concurrency functional

Winskel, Glynn (2023) Making concurrency functional. In: 38th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), 2023-06-26 - 2023-06-29, Boston University.

[thumbnail of Winskel-LICS-2023-Making-concurrency-functional]
Text. Filename: Winskel-LICS-2023-Making-concurrency-functional.pdf
Accepted Author Manuscript
License: Strathprints license 1.0

Download (742kB)| Preview


The article bridges between two major paradigms in computation, the functional, at basis computation from input to output, and the interactive, where computation reacts to its environment while underway. Central to any compositional theory of interaction is the dichotomy between a system and its environment. Concurrent games and strategies address the dichotomy in fine detail, very locally, in a distributed fashion, through distinctions between Player moves (events of the system) and Opponent moves (those of the environment). A functional approach has to handle the dichotomy much more ingeniously, through its blunter distinction between input and output. This has led to a variety of functional approaches, specialised to particular interactive demands. Through concurrent games we can more clearly see what separates and connects the differing paradigms, and show how: * to lift functions to strategies; the "Scott order" intrinsic to concurrent games plays a key role in turning functional dependency to causal dependency. * several paradigms of functional programming and logic arise naturally as subcategories of concurrent games, including stable domain theory; nondeterministic dataflow; geometry of interaction; the dialectica interpretation; lenses and optics; and their extensions to containers in dependent lenses and optics. * to transfer enrichments of strategies (such as to probabilistic, quantum or real-number computation) to functional cases.