Results 1  10
of
13
A Semantic analysis of control
, 1998
"... This thesis examines the use of denotational semantics to reason about control flow in sequential, basically functional languages. It extends recent work in game semantics, in which programs are interpreted as strategies for computation by interaction with an environment. Abramsky has suggested that ..."
Abstract

Cited by 32 (5 self)
 Add to MetaCart
This thesis examines the use of denotational semantics to reason about control flow in sequential, basically functional languages. It extends recent work in game semantics, in which programs are interpreted as strategies for computation by interaction with an environment. Abramsky has suggested that an intensional hierarchy of computational features such as state, and their fully abstract models, can be captured as violations of the constraints on strategies in the basic functional model. Nonlocal control flow is shown to fit into this framework as the violation of strong and weak ‘bracketing ’ conditions, related to linear behaviour. The language µPCF (Parigot’s λµ with constants and recursion) is adopted as a simple basis for highertype, sequential computation with access to the flow of control. A simple operational semantics for both callbyname and callbyvalue evaluation is described. It is shown that dropping the bracketing condition on games models of PCF yields fully abstract models of µPCF.
Notions of computability at higher types I
 In Logic Colloquium 2000
, 2005
"... We discuss the conceptual problem of identifying the natural notions of computability at higher types (over the natural numbers). We argue for an eclectic approach, in which one considers a wide range of possible approaches to defining higher type computability and then looks for regularities. As a ..."
Abstract

Cited by 11 (5 self)
 Add to MetaCart
We discuss the conceptual problem of identifying the natural notions of computability at higher types (over the natural numbers). We argue for an eclectic approach, in which one considers a wide range of possible approaches to defining higher type computability and then looks for regularities. As a first step in this programme, we give an extended survey of the di#erent strands of research on higher type computability to date, bringing together material from recursion theory, constructive logic and computer science. The paper thus serves as a reasonably complete overview of the literature on higher type computability. Two sequel papers will be devoted to developing a more systematic account of the material reviewed here.
Operational domain theory and topology of a sequential language
 In Proceedings of the 20th Annual IEEE Symposium on Logic In Computer Science
, 2005
"... A number of authors have exported domaintheoretic techniques from denotational semantics to the operational study of contextual equivalence and order. We further develop this, and, moreover, we additionally export topological techniques. In particular, we work with an operational notion of compact ..."
Abstract

Cited by 10 (6 self)
 Add to MetaCart
A number of authors have exported domaintheoretic techniques from denotational semantics to the operational study of contextual equivalence and order. We further develop this, and, moreover, we additionally export topological techniques. In particular, we work with an operational notion of compact set and show that total programs with values on certain types are uniformly continuous on compact sets of total elements. We apply this and other conclusions to prove the correctness of nontrivial programs that manipulate infinite data. What is interesting is that the development applies to sequential programming languages, in addition to languages with parallel features. 1
Completeness and Logical Full Abstraction in Modal Logics for Typed Mobile Processes
"... Abstract. We study an extension of HennessyMilner logic for the πcalculus which gives a sound and complete characterisation of representative behavioural preorders and equivalences over typed processes. New connectives are introduced representing actual and hypothetical typed parallel composition ..."
Abstract

Cited by 7 (4 self)
 Add to MetaCart
Abstract. We study an extension of HennessyMilner logic for the πcalculus which gives a sound and complete characterisation of representative behavioural preorders and equivalences over typed processes. New connectives are introduced representing actual and hypothetical typed parallel composition and hiding. We study three compositional proof systems, characterising the May/Must testing preorders and bisimilarity. The proof systems are uniformly applicable to different type disciplines. Logical axioms distill proof rules for parallel composition studied by Amadio and Dam. We demonstrate the expressiveness of our logic embeddings of program logics for higherorder functions. 1
Program Logics for Sequential HigherOrder Control
"... We introduce a Hoare logic for higherorder functional languages with control operators such as callcc. The key idea is to build the assertion language and proof rules on the basis of types that generalise the standard types for control operators (for ’jumpingto’) with dual types (for ’beingjumpe ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
We introduce a Hoare logic for higherorder functional languages with control operators such as callcc. The key idea is to build the assertion language and proof rules on the basis of types that generalise the standard types for control operators (for ’jumpingto’) with dual types (for ’beingjumpedto’). This enables the assertion language to capture precisely the intensional and extensional effects of jumps by internalising rely/guarantee reasoning, leading to simple proof rules for callbyvalue PCF with callcc and/or nameabstraction. All new operators come with powerful associated axioms. We show that the logic allows specification and reasoning about nontrivial examples of using callcc. The logic matches exactly with the operational semantics of the target language (observational completeness), is relatively complete in Cook’s sense and allows efficient generation of characteristic formulae.
Matching typed and untyped realizability (Extended abstract)
"... Realizability interpretations of logics are given by saying what it means for computational objects of some kind to realize logical formulae. The computational objects in question might be drawn from an untyped universe of computation, such as a partial combinatory algebra, or they might be typed ob ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Realizability interpretations of logics are given by saying what it means for computational objects of some kind to realize logical formulae. The computational objects in question might be drawn from an untyped universe of computation, such as a partial combinatory algebra, or they might be typed objects such as terms of a PCFstyle programming language. In some instances, one can show that a particular untyped realizability interpretation matches a particular typed one, in the sense that they give the same set of realizable formulae. In this case, we have a very good fit indeed between the typed language and the untyped realizability model—we refer to this condition as (constructive) logical full abstraction. We give some examples of this situation for a variety of extensions of PCF. Of particular interest are some models that are logically fully abstract for typed languages including nonfunctional features. Our results establish connections between what is computable in various programming languages, and what is true inside various realizability toposes. We consider some examples of logical formulae to illustrate these ideas, in particular their application to exact realnumber computability. The present article summarizes the material I presented at the Domains IV workshop, plus a few subsequent developments; it is really an extended abstract for a projected journal paper. No proofs are included in the present version. 0
Inductive Definition and Domain Theoretic Properties of Fully Abstract Models for PCF and PCF+
 LOGICAL METHODS IN COMPUTER SCIENCE 3(3:7), 1–50 (2007)
, 2007
"... A construction of fully abstract typed models for PCF and PCF+ (i.e., PCF+ “parallel conditional function”), respectively, is presented. It is based on general notions of sequential computational strategies and wittingly consistent nondeterministic strategies introduced by the author in the sevent ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
A construction of fully abstract typed models for PCF and PCF+ (i.e., PCF+ “parallel conditional function”), respectively, is presented. It is based on general notions of sequential computational strategies and wittingly consistent nondeterministic strategies introduced by the author in the seventies. Although these notions of strategies are old, the definition of the fully abstract models is new, in that it is given levelbylevel in the finite type hierarchy. To prove full abstraction and nondcpo domain theoretic properties of these models, a theory of computational strategies is developed. This is also an alternative and, in a sense, an analogue to the later game strategy semantics approaches of Abramsky, Jagadeesan, and Malacaria; Hyland and Ong; and Nickau. In both cases of PCF and PCF+ there are definable universal (surjective) functionals from numerical functions to any given type, respectively, which also makes each of these models unique up to isomorphism. Although such models are nonomegacomplete and therefore not continuous in the traditional terminology, they are also proved to be sequentially complete (a weakened form of omegacompleteness), “naturally” continuous (with respect to existing directed “pointwise”, or “natural” lubs) and also “naturally” omegaalgebraic and “naturally” bounded complete—appropriate generalisation of the ordinary notions of domain theory to the case of nondcpos.
Program Logics for Homogeneous MetaProgramming
"... Abstract. A metaprogram is a program that generates or manipulates another program; in homogeneous metaprogramming, a program may generate new parts of, or manipulate, itself. Metaprogramming has been used extensively since macros were introduced to Lisp, yet we have little idea how formally to r ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. A metaprogram is a program that generates or manipulates another program; in homogeneous metaprogramming, a program may generate new parts of, or manipulate, itself. Metaprogramming has been used extensively since macros were introduced to Lisp, yet we have little idea how formally to reason about metaprograms. This paper provides the first program logics for homogeneous metaprogramming – using a variant of MiniML □ e by Davies and Pfenning as underlying metaprogramming language. We show the applicability of our approach by reasoning about example metaprograms from the literature. We also demonstrate that our logics are relatively complete in the sense of Cook, enable the inductive derivation of characteristic formulae, and exactly capture the observational properties induced by the operational semantics. 1