Game Semantics: Easy as Pi

by   Nobuko Yoshida, et al.

Game semantics has proven to be a robust method to give compositional semantics for a variety of higher-order programming languages. However, due to the complexity of most game models, game semantics has remained unapproachable for non-experts. In this paper, we aim at making game semantics more accessible by viewing it as a syntactic translation into a session typed pi-calculus, referred to as metalanguage, followed by a semantics interpretation of the metalanguage into a particular game model. The syntactic translation can be defined for a wide range of programming languages without knowledge of the particular game model used. Simple reasoning on the model (soundness, and adequacy) can be done at the level of the metalanguage, escaping tedious technical proofs usually found in game semantics. We call this methodology programming game semantics. We design a metalanguage (PiDiLL) inspired from Differential Linear Logic (DiLL), which is concise but expressive enough to support features required by concurrent game semantics. We then demonstrate our methodology by yielding the first causal, non-angelic and interactive game model of CML, a higher-order call-by-value language with shared memory concurrency. We translate CML into PiDiLL and show that the translation is adequate. We give a causal and non-angelic game semantics model using event structures, which supports a simple semantics interpretation of PiDiLL. Combining both of these results, we obtain the first interactive model of a concurrent language of this expressivity which is adequate with respect to the standard weak bisimulation, and fully abstract for the contextual equivalence on second-order terms. We have implemented a prototype which can explore the generated causal object from a subset of OCaml.



page 1

page 2

page 3

page 4


On the Learnability of Programming Language Semantics

Game semantics is a powerful method of semantic analysis for programming...

Disentangling Parallelism and Interference in Game Semantics

Game semantics is a denotational semantics presenting compositionally th...

Abstracting Definitional Interpreters

In this functional pearl, we examine the use of definitional interpreter...

An intensionally fully-abstract sheaf model for π (expanded version)

Following previous work on CCS, we propose a compositional model for the...

Complete trace models of state and control

We consider a hierarchy of four typed call-by-value languages with eithe...

What's in a game? A theory of game models

Game semantics is a rich and successful class of denotational models for...

Concurrent Separation Logic Meets Template Games

An old dream of concurrency theory and programming language semantics ha...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.