Results 1  10
of
16
On the Observable Properties of Higher Order Functions that Dynamically Create Local Names
 IN MATHEMATICAL FOUNDATIONS OF COMPUTER SCIENCE, PROC. 18TH INT. SYMP
, 1993
"... The research reported in this paper is concerned with the problem of reasoning about properties of higher order functions involving state. It is motivated by the desire to identify what, if any, are the difficulties created purely by locality of state, independent of other properties such as sideef ..."
Abstract

Cited by 131 (14 self)
 Add to MetaCart
The research reported in this paper is concerned with the problem of reasoning about properties of higher order functions involving state. It is motivated by the desire to identify what, if any, are the difficulties created purely by locality of state, independent of other properties such as sideeffects, exceptional termination and nontermination due to recursion. We consider a simple language (equivalent to a fragment of Standard ML) of typed, higher order functions that can dynamically create fresh names. Names are created with local scope, can be tested for equality and can be passed around via function application, but that is all. we demonstrate
Intuitionistic Reasoning about Shared Mutable Data Structure
 Millennial Perspectives in Computer Science
, 2000
"... Drawing upon early work by Burstall, we extend Hoare's approach to proving the correctness of imperative programs, to deal with programs that perform destructive updates to data structures containing more than one pointer to the same location. The key concept is an "independent conjunc ..."
Abstract

Cited by 113 (5 self)
 Add to MetaCart
(Show Context)
Drawing upon early work by Burstall, we extend Hoare's approach to proving the correctness of imperative programs, to deal with programs that perform destructive updates to data structures containing more than one pointer to the same location. The key concept is an "independent conjunction" P & Q that holds only when P and Q are both true and depend upon distinct areas of storage. To make this concept precise we use an intuitionistic logic of assertions, with a Kripke semantics whose possible worlds are heaps (mapping locations into tuples of values).
An observationally complete program logic for imperative higherorder functions
 In Proc. LICS’05
, 2005
"... Abstract. We propose a simple compositional program logic for an imperative extension of callbyvalue PCF, built on Hoare logic and our preceding work on program logics for pure higherorder functions. A systematic use of names and operations on them allows precise and general description of comple ..."
Abstract

Cited by 46 (13 self)
 Add to MetaCart
(Show Context)
Abstract. We propose a simple compositional program logic for an imperative extension of callbyvalue PCF, built on Hoare logic and our preceding work on program logics for pure higherorder functions. A systematic use of names and operations on them allows precise and general description of complex higherorder imperative behaviour. The proof rules of the logic exactly follow the syntax of the language and can cleanly embed, justify and extend the standard proof rules for total correctness of Hoare logic. The logic offers a foundation for general treatment of aliasing and local state on its basis, with minimal extensions. After establishing soundness, we prove that valid assertions for programs completely characterise their behaviour up to observational congruence, which is proved using a variant of finite canonical forms. The use of the logic is illustrated through reasoning examples which are hard to assert and infer using existing program logics.
Semantics of Local Variables
, 1992
"... This expository article discusses recent progress on the problem of giving sufficiently abstract semantics to localvariable declarations in Algollike languages, especially work using categorical methods. ..."
Abstract

Cited by 37 (5 self)
 Add to MetaCart
This expository article discusses recent progress on the problem of giving sufficiently abstract semantics to localvariable declarations in Algollike languages, especially work using categorical methods.
Objects and classes in Algollike languages
 Information and Computation
, 2002
"... Many objectoriented languages used in practice descend from Algol. With this motivation, we study the theoretical issues underlying such languages via the theory of Algollike languages. It is shown that the basic framework of this theory extends cleanly and elegantly to the concepts of objects and ..."
Abstract

Cited by 22 (5 self)
 Add to MetaCart
(Show Context)
Many objectoriented languages used in practice descend from Algol. With this motivation, we study the theoretical issues underlying such languages via the theory of Algollike languages. It is shown that the basic framework of this theory extends cleanly and elegantly to the concepts of objects and classes. An important idea that comes to light is that classes are abstract data types, whose theory corresponds to that of existential types. Equational and Hoarelike reasoning methods, and relational parametricity provide powerful formal tools for reasoning about Algollike objectoriented programs. 1
Objects, Interference, and the Yoneda Embedding
, 1995
"... We present a new semantics for Algollike languages that combines methods from two prior lines of development: ffl the objectbased approach of [21,22], where the meaning of an imperative program is described in terms of sequences of observable actions, and ffl the functorcategory approach initiat ..."
Abstract

Cited by 19 (9 self)
 Add to MetaCart
(Show Context)
We present a new semantics for Algollike languages that combines methods from two prior lines of development: ffl the objectbased approach of [21,22], where the meaning of an imperative program is described in terms of sequences of observable actions, and ffl the functorcategory approach initiated by Reynolds [24], where the varying nature of the runtime stack is explained using functors from a category of store shapes to a category of cpos. The semantics
Abstract Models of Storage
, 2000
"... This note is a historical survey of Christopher Strachey's influence on the development of semantic models of assignment and storage management in procedural languages. ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
This note is a historical survey of Christopher Strachey's influence on the development of semantic models of assignment and storage management in procedural languages.
Note on algol and conservatively extending functional programming
 Journal of Functional Programming
, 1995
"... ..."
An AutomataTheoretic Model of Objects
"... Abstract—In this paper, we present a new model of classbased Algollike programming languages inspired by automatatheoretic concepts. The model may be seen as a variant of the ”objectbased ” model previously proposed by the author, where objects are described by their observable behaviour in terms ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
Abstract—In this paper, we present a new model of classbased Algollike programming languages inspired by automatatheoretic concepts. The model may be seen as a variant of the ”objectbased ” model previously proposed by the author, where objects are described by their observable behaviour in terms of events. At the same time, it also reflects the intuitions behind statebased models studied by Reynolds, Oles, Tennent and O’Hearn where the effect of commands is described by state transformations. The idea is to view stores as automata, capturing not only their states but also the allowed state transformations. In this fashion, we are able to combine both the statebased and eventbased views of objects. We illustrate the efficacy of the model by proving several test equivalences and discuss its connections to the previous models. I.
Monoidal indeterminates and categories of possible worlds
 In Proc. of MFPS XXV
, 2009
"... Given any symmetric monoidal category C, a small symmetric monoidal category Σ and a strong monoidal functor j:Σ C, we construct C[x: jΣ], the polynomial category with a system of (freely adjoined) monoidal indeterminates x: I j(w), natural in w ∈ Σ. As a special case, we construct the free coaffin ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Given any symmetric monoidal category C, a small symmetric monoidal category Σ and a strong monoidal functor j:Σ C, we construct C[x: jΣ], the polynomial category with a system of (freely adjoined) monoidal indeterminates x: I j(w), natural in w ∈ Σ. As a special case, we construct the free coaffine category (symmetric monoidal category with initial unit) on a given small symmetric monoidal category. We then exhibit all the known categories of “possible worlds ” used to treat languages that allow for dynamic creation of “new ” variables, locations, or names as instances of this construction and explicate their associated universality properties. As an application of the resulting characterisation of O(W), Oles’s category of possible worlds, we present an O(W)indexed Lawvere theory of manysorted storage, generalizing the singlesorted one introduced by J. Power, and we describe explicitly an associated