Results 1 - 10
of
14
Call-by-Value Games
, 1997
"... . A general construction of models of call-by-value from models of call-by-name computation is described. The construction makes essential use of the properties of sum types in common denotational models of call-by-name. When applied to categories of games, it yields fully abstract models of the cal ..."
Abstract
-
Cited by 59 (7 self)
- Add to MetaCart
. A general construction of models of call-by-value from models of call-by-name computation is described. The construction makes essential use of the properties of sum types in common denotational models of call-by-name. When applied to categories of games, it yields fully abstract models of the call-by-value functional language PCFv , which can be extended to incorporate recursive types, and of a language with local references as in Standard ML. 1 Introduction In recent years game semantics has emerged as a novel and intuitively appealing approach to modelling programming languages. Its first success was in providing a syntax-free description of a fully abstract model of PCF [10, 1, 15]; full abstraction results have also been obtained for untyped and recursively typed functional languages, as well as languages with imperative features [12, 3]. However, none of this work addressed the problem of modelling call-by-value languages---a major shortcoming, given that many real-life langua...
Games and full abstraction for nondeterministic languages
, 1999
"... Abstract Nondeterminism is a pervasive phenomenon in computation. Often it arises as an emergent property of a complex system, typically as the result of contention for access to shared resources. In such circumstances, we cannot always know, in advance, exactly what will happen. In other circumstan ..."
Abstract
-
Cited by 23 (2 self)
- Add to MetaCart
Abstract Nondeterminism is a pervasive phenomenon in computation. Often it arises as an emergent property of a complex system, typically as the result of contention for access to shared resources. In such circumstances, we cannot always know, in advance, exactly what will happen. In other circumstances, nondeterminism is explicitly introduced as a means of abstracting away from implementation details such as precise command scheduling and control flow. However, the kind of behaviours exhibited by nondeterministic computations can be extremely subtle in comparison to those of their deterministic counterparts and reasoning about such programs is notoriously tricky as a result. It is therefore important to develop semantic tools to improve our understanding of, and aid our reasoning about, such nondeterministic programs. In this thesis, we extend the framework of game semantics to encompass nondeterministic computation. Game semantics is a relatively recent development in denotational semantics; its main novelty is that it views a computation not as a static entity, but rather as a dynamic process of interaction. This perspective makes the theory well-suited to modelling many aspects of computational processes: the original use of game semantics in modelling the simple functional language PCF has subsequently been extended to handle more complex control structures such as references and continuations.
Asynchronous Games 2 - The true concurrency of innocence
, 2004
"... In game semantics, the higher-order value passing mechanisms of the #-calculus are decomposed as sequences of atomic actions exchanged by a Player and its Opponent. Seen from this angle, game semantics is reminiscent of trace semantics in concurrency theory, where a process is identified to the sequ ..."
Abstract
-
Cited by 21 (5 self)
- Add to MetaCart
In game semantics, the higher-order value passing mechanisms of the #-calculus are decomposed as sequences of atomic actions exchanged by a Player and its Opponent. Seen from this angle, game semantics is reminiscent of trace semantics in concurrency theory, where a process is identified to the sequences of requests it generates in the course of time. Asynchronous game semantics is an attempt to bridge the gap between the two subjects, and to see mainstream game semantics as a refined and interactive form of trace semantics. Asynchronous games are positional games played on Mazurkiewicz traces, which reformulate (and generalize) the familiar notion of arena game. The interleaving semantics of #-terms, expressed as innocent strategies, may be analyzed in this framework, in the perspective of true concurrency. The analysis reveals that innocent strategies are positional strategies regulated by forward and backward confluence properties. This captures, we believe, the essence of innocence. We conclude the article by defining a non uniform variant of the #-calculus, in which the game semantics of a #-term is formulated directly as a trace semantics, performing the syntactic exploration or parsing of that #-term.
Call-By-Push-Value: A Subsuming Paradigm
- in Proc. TLCA ’99
, 1999
"... . Call-by-push-value is a new paradigm that subsumes the call-by-name and call-by-value paradigms, in the following sense: both operational and denotational semantics for those paradigms can be seen as arising, via translations that we will provide, from similar semantics for call-by-push-value. To ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
. Call-by-push-value is a new paradigm that subsumes the call-by-name and call-by-value paradigms, in the following sense: both operational and denotational semantics for those paradigms can be seen as arising, via translations that we will provide, from similar semantics for call-by-push-value. To explain call-by-push-value, we first discuss general operational ideas, especially the distinction between values and computations, using the principle that "a value is, a computation does". Using an example program, we see that the lambda-calculus primitives can be understood as push/pop commands for an operand-stack. We provide operational and denotational semantics for a range of computational effects and show their agreement. We hence obtain semantics for call-by-name and call-by-value, of which some are familiar, some are new and some were known but previously appeared mysterious. 1 Introduction 1.1 Contribution In his invited lecture at POPL '98 [32], Reynolds, surveying over 30 year...
A game semantics of local names and good variables
- of Lecture Notes in Computer Science
, 2004
"... Abstract. We describe a game semantics for local names in a functional setting. It is based on a category of dialogue games acted upon by the automorphism group of the natural numbers; this allows properties of names such as freshness and locality to be characterized semantically. We describe a mode ..."
Abstract
-
Cited by 14 (4 self)
- Add to MetaCart
Abstract. We describe a game semantics for local names in a functional setting. It is based on a category of dialogue games acted upon by the automorphism group of the natural numbers; this allows properties of names such as freshness and locality to be characterized semantically. We describe a model of the nu-calculus in this category, and extend it with named references (without bad variables) using names as pointers to a store. After refining the semantics via a notion of garbage collection, we prove that the compact elements are definable as terms, and hence obtain a full abstraction result. 1 Introduction Local names are a pervasive and subtle feature of programming languages and other calculi. Not only are they used for manipulating important constructs such as locally bound references and exceptions, name-passing is itself a very expressive computational paradigm, as demonstrated by the ss-calculus, for example. Local names can also represent items of secret information which are dynamically generated, passed between agents and used to access further information or activity. They therefore have a key r^ole in specifying properties of secure systems [1, 24].
Game Semantics and Subtyping
- In Proceedings of the fifteenth annual IEEE symposium on Logic in Computer Science
, 1999
"... While Game Semantics has been remarkably successful at modelling, often in a fully abstract manner, a wide range of features of programming languages, there has to date been no attempt at applying it to subtyping. We show how the simple device of explicitly introducing error values in the syntax of ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
While Game Semantics has been remarkably successful at modelling, often in a fully abstract manner, a wide range of features of programming languages, there has to date been no attempt at applying it to subtyping. We show how the simple device of explicitly introducing error values in the syntax of the calculus leads to a notion of subtyping for game semantics. We construct an interpretation of a simple -calculus with subtyping and show how the range of the interpretation of types is a complete lattice thus yielding an interpretation of bounded quantification.
A game semantics of the asynchronous π-calculus
- In Proceedings of 16th CONCUR
, 2005
"... Abstract. This paper studies the denotational semantics of the typed asynchronous π-calculus. We describe a simple game semantics of this language, placing it within a rich hierarchy of games models for programming languages, A key element of our account is the identification of suitable categorical ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
Abstract. This paper studies the denotational semantics of the typed asynchronous π-calculus. We describe a simple game semantics of this language, placing it within a rich hierarchy of games models for programming languages, A key element of our account is the identification of suitable categorical structures for describing the interpretation of types and terms at an abstract level. It is based on the notion of closed Freyd category, establishing a connection between our semantics, and that of the λ-calculus. This structure is also used to define a trace operator, with which name binding is interpreted. We then show that our categorical characterization is sufficient to prove a weak soundness result. Another theme of the paper is the correspondence between justified sequences, on which our model is based, and traces in a labelled transition system in which only bound names are passed. We show that the denotations of processes are equivalent, via this correspondence, to their sets of traces. These results are used to show that the games model is fully abstract with respect to may-equivalence. 1
Innocent Game Models of Untyped λ-Calculus
- Theoretical Computer Science
, 2000
"... We present a new denotational model for the untyped -calculus, using the techniques of game semantics. The strategies used are innocent in the sense of Hyland and Ong [9] and Nickau [17], but the traditional distinction between \question" and \answer" moves is removed. We rst construct models D and ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
We present a new denotational model for the untyped -calculus, using the techniques of game semantics. The strategies used are innocent in the sense of Hyland and Ong [9] and Nickau [17], but the traditional distinction between \question" and \answer" moves is removed. We rst construct models D and DREC as global sections of a reexive object in the categories A and A REC of arenas and innocent and recursive innocent strategies respectively. We show that these are sensible -algebras but are neither extensional nor universal. We then introduce a new representation of innocent strategies in an economical form. We show a strong connexion between the economical form of the denotation of a term in the game models and a variable-free form of the Nakajima tree of the term. Using this we show that the denable elements of DREC are precisely what we call eectively almost-everywhere copycat (EAC) strategies. The category A EAC with these strategies as morphisms gives rise to a -model D...
Innocent Game Models of Untyped λ-Calculus
, 2000
"... We present a new denotation model for the untyped λ-calculus, using the techniques of game semantics. The strategies used are innocent in the sense of Hyland and Ong [HO94] and Nickau [Nic96], but the traditional distinction between "question" and "answer" moves is removed. We first construct mod ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
We present a new denotation model for the untyped λ-calculus, using the techniques of game semantics. The strategies used are innocent in the sense of Hyland and Ong [HO94] and Nickau [Nic96], but the traditional distinction between "question" and "answer" moves is removed. We first construct models D and DREC as global sections of a reflexive object in the categories A and A REC of arenas and innocent and recursive innocent strategies respectively. We show that these are sensible -algebras but are neither extensional nor universal. We then introduce a new representation of innocent strategies in an economical form. We show a stong connexion between the economical form of the denotation of a term in the game models and a variable-free form of the Nakajima tree of the term. Using this we show that the denable elements of DREC are precisely what we call effectively almost-everywhere copycat (EAC) strategies. The category A EAC with these strategies as morphisms gives rise to a ...
A game semantics of higher-order concurrency
- Proc. FSTTCS ’06, number 4337 in LNCS
, 2006
"... Abstract. We describe a denotational (game) semantics for a call-byvalue functional language with multiple threads of control, which may communicate values of general type on locally declared channels. This develops previous work which interpreted freshly generated names in a category of games acted ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Abstract. We describe a denotational (game) semantics for a call-byvalue functional language with multiple threads of control, which may communicate values of general type on locally declared channels. This develops previous work which interpreted freshly generated names in a category of games acted upon by the group of natural number automorphisms, by showing how names may be associated with “dependent arenas ” in which interaction between strategies, corresponding to asynchronous communication on named channels, may occur. We describe a model of the call-by-value λ-calculus (a closed Freyd category) based on these arenas, and use this as the basis for interpreting our language. We prove that the semantics is fully abstract with respect to may-testing using a correspondence between channel and function types based on the “triggering ” representation of procedure-passing in terms of name-passing. 1

