当前位置: X-MOL 学术arXiv.cs.PL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Game Semantics: Easy as Pi
arXiv - CS - Programming Languages Pub Date : 2020-11-10 , DOI: arxiv-2011.05248
Nobuko Yoshida, Simon Castellan, L\'eo Stefanesco

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.

中文翻译:

游戏语义:像 Pi 一样简单

游戏语义已被证明是一种为各种高阶编程语言提供组合语义的强大方法。然而,由于大多数游戏模型的复杂性,游戏语义对于非专家来说仍然难以理解。在本文中,我们的目标是通过将游戏语义视为会话类型 pi 演算(称为元语言)的句法翻译,然后将元语言语义解释为特定游戏模型,从而使游戏语义更易于访问。无需了解所使用的特定游戏模型,就可以为范围广泛的编程语言定义句法翻译。模型上的简单推理(健全性和充分性)可以在元语言级别完成,避免了通常在游戏语义中发现的乏味的技术证明。我们称这种方法论为游戏语义编程。我们设计了一种受微分线性逻辑 (DiLL) 启发的元语言 (PiDiLL),它简洁但表达能力足以支持并发游戏语义所需的功能。然后,我们通过产生 CML 的第一个因果、非天使和交互式游戏模型来演示我们的方法,CML 是一种具有共享内存并发性的高阶按值调用语言。我们将 CML 翻译成 PiDiLL 并表明翻译是足够的。我们使用事件结构给出了一个因果和非天使游戏语义模型,它支持 PiDiLL 的简单语义解释。结合这两个结果,我们获得了这种表达性的并发语言的第一个交互模型,该模型对于标准的弱互模拟来说是足够的,并且对于二阶项的上下文等价是完全抽象的。
更新日期:2020-11-19
down
wechat
bug