Results 1  10
of
16
CallbyValue Games
, 1997
"... . A general construction of models of callbyvalue from models of callbyname computation is described. The construction makes essential use of the properties of sum types in common denotational models of callbyname. When applied to categories of games, it yields fully abstract models of the cal ..."
Abstract

Cited by 63 (7 self)
 Add to MetaCart
. A general construction of models of callbyvalue from models of callbyname computation is described. The construction makes essential use of the properties of sum types in common denotational models of callbyname. When applied to categories of games, it yields fully abstract models of the callbyvalue 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 syntaxfree 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 callbyvalue languagesa major shortcoming, given that many reallife 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 29 (3 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 wellsuited 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.
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 17 (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 nucalculus 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, namepassing is itself a very expressive computational paradigm, as demonstrated by the sscalculus, 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].
CallByPushValue: A Subsuming Paradigm
 in Proc. TLCA ’99
, 1999
"... . Callbypushvalue is a new paradigm that subsumes the callbyname and callbyvalue 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 callbypushvalue. To ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
. Callbypushvalue is a new paradigm that subsumes the callbyname and callbyvalue 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 callbypushvalue. To explain callbypushvalue, 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 lambdacalculus primitives can be understood as push/pop commands for an operandstack. We provide operational and denotational semantics for a range of computational effects and show their agreement. We hence obtain semantics for callbyname and callbyvalue, 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...
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 mayequivalence. 1
A game semantics of higherorder concurrency
 Proc. FSTTCS ’06, number 4337 in LNCS
, 2006
"... Abstract. We describe a denotational (game) semantics for a callbyvalue 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 5 (1 self)
 Add to MetaCart
Abstract. We describe a denotational (game) semantics for a callbyvalue 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 callbyvalue λ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 maytesting using a correspondence between channel and function types based on the “triggering ” representation of procedurepassing in terms of namepassing. 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 variablefree form of the Nakajima tree of the term. Using this we show that the denable elements of DREC are precisely what we call eectively almosteverywhere 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 variablefree form of the Nakajima tree of the term. Using this we show that the denable elements of DREC are precisely what we call effectively almosteverywhere copycat (EAC) strategies. The category A EAC with these strategies as morphisms gives rise to a ...