Results 1 - 10
of
11
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 31 (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. Non-local 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 higher-type, sequential computation with access to the flow of control. A simple operational semantics for both call-by-name and call-by-value 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 10 (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 domain-theoretic 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 9 (5 self)
- Add to MetaCart
A number of authors have exported domain-theoretic 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 non-trivial 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 Hennessy-Milner 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 5 (3 self)
- Add to MetaCart
Abstract. We study an extension of Hennessy-Milner 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 higher-order functions. 1
Program Logics for Sequential Higher-Order Control
"... We introduce a Hoare logic for higher-order 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 ’jumping-to’) with dual types (for ’being-jumpe ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
We introduce a Hoare logic for higher-order 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 ’jumping-to’) with dual types (for ’being-jumped-to’). 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 call-by-value PCF with callcc and/or name-abstraction. All new operators come with powerful associated axioms. We show that the logic allows specification and reasoning about non-trivial 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.
Notions of Computability for General Datatypes - Case For Support to accompany EPS(RP)
"... ion and information hiding III.1. Abstract types A more ambitious and speculative part of our programme will be the investigation of issues of computability for abstract types. In many modern programming languages, facilities for data abstraction are very important for the modular design of large p ..."
Abstract
- Add to MetaCart
ion and information hiding III.1. Abstract types A more ambitious and speculative part of our programme will be the investigation of issues of computability for abstract types. In many modern programming languages, facilities for data abstraction are very important for the modular design of large programs. The basic idea is that we can only interact with the data values through some prescribed interface. Indeed, the finite types are abstract types in a certain sense, since (typically) the only way to interact with a function is via application. Taking an extensional or "behavioural" view of datatypes, one is led to consider questions such as the following: ffl Which functions to and from the abstract type are computable? ffl When are two elements of the abstract type observationally equivalent? ffl When are two implementations of the same abstract type signature observationally indistinguishable ? Even for abstract types with first-order signatures, these questions present a sign...
Modal Logics for Typed Mobile Processes
"... Abstract. We propose an extension of Hennessy-Milner logic for the π-calculus which gives sound and complete characterisation of representative behavioural preorder and equivalence over typed processes. New connectives are introduced representing actual and hypothetical typed parallel composition an ..."
Abstract
- Add to MetaCart
Abstract. We propose an extension of Hennessy-Milner logic for the π-calculus which gives sound and complete characterisation of representative behavioural preorder and equivalence over typed processes. New connectives are introduced representing actual and hypothetical typed parallel composition and hiding. We study two compositional proof systems, characterising the May/Must testing preorders for infinite processes. The mixture of the two proof systems corresponds to bisimilarity. These proof systems are uniformly usable for different type disciplines. Logical axioms for composition originate from the corresponding proof rules studied by the preceding researchers including Amadio and Dam, allowing elimination of new connectives depending on types. We demonstrate how the use of types facilitates high-level logical reasoning through examples, including
Program Logics for Homogeneous Meta-Programming
"... Abstract. A meta-program is a program that generates or manipulates another program; in homogeneous meta-programming, a program may generate new parts of, or manipulate, itself. Meta-programming has been used extensively since macros were introduced to Lisp, yet we have little idea how formally to r ..."
Abstract
- Add to MetaCart
Abstract. A meta-program is a program that generates or manipulates another program; in homogeneous meta-programming, a program may generate new parts of, or manipulate, itself. Meta-programming 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 meta-programming language. We show the applicability of our approach by reasoning about example meta-programs 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

