Syntax and Semantics for Operations with Scopes
Syntax and Semantics for Operations with Scopes
复制标题
作用域操作的语法和语义
DOI:
--
复制
发表时间:
2018
期刊:
影响因子:
--
通讯作者:
Mauro Jaskelioff
中科院分区:
文献类型:
--
作者:
Maciej Piróg;Tom Schrijvers;Nicolas Wu;Mauro Jaskelioff
Motivated by the problem of separating syntax from semantics in programming with algebraic effects and handlers, we propose a categorical model of abstract syntax with so-called scoped operations. As a building block of a term, a scoped operation is not merely a node in a tree, as it can also encompass a whole part of the term (a scope). Some examples from the area of programming are given by the operation catch for handling exceptions, in which the part in the scope is the code that may raise an exception, or the operation once, which selects a single solution from a nondeterministic computation. A distinctive feature of such operations is their behaviour under program composition, that is, syntactic substitution. Our model is based on what Ghani et al. call the monad of explicit substitutions, defined using the initial-algebra semantics in the category of endofunctors. We also introduce a new kind of multi-sorted algebras, called scoped algebras, which serve as interpretations of syntax with scopes. In generality, scoped algebras are given in the style of the presheaf formalisation of syntax with binders of Fiore et al. As the main technical result, we show that our monad indeed arises from free objects in the category of scoped algebras. Importantly, we show that our results are immediately applicable. In particular, we show a Haskell implementation together with practical, real-life examples.
DOI:
--
发表时间:
2015
期刊:
--
影响因子:
--
作者:
Gabbay MJ
通讯作者:
Gabbay MJ
DOI:
10.6092/issn.1972-5787/4389
发表时间:
2014
期刊:
--
影响因子:
--
作者:
Altenkirch T
通讯作者:
Altenkirch T
DOI:
10.1145/3009837.3009897
发表时间:
2017
期刊:
--
影响因子:
--
作者:
Lindley S
通讯作者:
Lindley S