Results 11 - 20
of
31
Objects, Interference, and the Yoneda Embedding
, 1995
"... We present a new semantics for Algol-like languages that combines methods from two prior lines of development: ffl the object-based approach of [21,22], where the meaning of an imperative program is described in terms of sequences of observable actions, and ffl the functor-category approach initiat ..."
Abstract
-
Cited by 16 (7 self)
- Add to MetaCart
We present a new semantics for Algol-like languages that combines methods from two prior lines of development: ffl the object-based approach of [21,22], where the meaning of an imperative program is described in terms of sequences of observable actions, and ffl the functor-category approach initiated by Reynolds [24], where the varying nature of the run-time stack is explained using functors from a category of store shapes to a category of cpos. The semantics
Functor Categories and Two-Level Languages
- In Foundations of Software Science and Computation Structures (FoSSaCS
, 1998
"... We propose a denotational semantics for the two-level language of [GJ91, Gom92], and prove its correctness w.r.t. a standard denotational semantics. Other researchers (see [Gom91, GJ91, Gom92, JGS93, HM94]) have claimed correctness for lambda-mix (or extensions of it) based on denotational models, b ..."
Abstract
-
Cited by 15 (4 self)
- Add to MetaCart
We propose a denotational semantics for the two-level language of [GJ91, Gom92], and prove its correctness w.r.t. a standard denotational semantics. Other researchers (see [Gom91, GJ91, Gom92, JGS93, HM94]) have claimed correctness for lambda-mix (or extensions of it) based on denotational models, but the proofs of such claims rely on imprecise definitions and are basically awed. At a technical level there are two important differences between our model and more naive models in Cpo: the domain for interpreting dynamic expressions is more abstract (we interpret code as -terms modulo -conversion), the semantics of newname is handled differently (we exploit functor categories). The key idea is to interpret a two-level language in a suitable functor category Cpo D op rather than Cpo. The semantics of newname follows the ideas pioneered by Oles and Reynolds for modeling the stack discipline of Algol-like languages. Indeed, we can think of the objects of D (i.e. the natural numbers) as ...
A Language for Bi-Directional Tree Transformations
, 2003
"... We develop a semantic foundation and a core programming language for bi-directional transformations on treestuctured data. In one direction, these transformations, called lenses, map a complex "concrete" tree into a simplified "abstract" one; in the other, they map a modified abstract tree, together ..."
Abstract
-
Cited by 13 (2 self)
- Add to MetaCart
We develop a semantic foundation and a core programming language for bi-directional transformations on treestuctured data. In one direction, these transformations, called lenses, map a complex "concrete" tree into a simplified "abstract" one; in the other, they map a modified abstract tree, together with the original concrete tree, to a correspondingly modified concrete tree.
Passivity and independence
- In Proceedings, Ninth Annual IEEE Symposium on Logic in Computer Science
, 1994
"... Most programming languages have certain phrases (like expressions) which only read information from the state and certain others (like commands) which write information to the state. These are called passive and active phrases respectively. Semantic models which make these distinctions have been har ..."
Abstract
-
Cited by 11 (6 self)
- Add to MetaCart
Most programming languages have certain phrases (like expressions) which only read information from the state and certain others (like commands) which write information to the state. These are called passive and active phrases respectively. Semantic models which make these distinctions have been hard to find. For instance, most semantic models have expression denotations that (temporarily) change the state. Common reasoning principles, such as the Hoare’s assignment axiom, are not valid in such models. We define here a semantic model which captures the notions of “change”, “absence of change” and “independent change ” etc. This is done by extending the author’s “linear logic model of state ” with dependence/independence relations so that sequential traces give way to pomset traces. 1
Mathematical models of computational and combinatorial structures. Invited address for Foundations
- of Software Science and Computation Structures (FOSSACS 2005
, 2005
"... Abstract. The general aim of this talk is to advocate a combinatorial perspective, together with its methods, in the investigation and study of models of computation structures. This, of course, should be taken in conjunction with the wellestablished views and methods stemming from algebra, category ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
Abstract. The general aim of this talk is to advocate a combinatorial perspective, together with its methods, in the investigation and study of models of computation structures. This, of course, should be taken in conjunction with the wellestablished views and methods stemming from algebra, category theory, domain theory, logic, type theory, etc. In support of this proposal I will show how such an approach leads to interesting connections between various areas of computer science and mathematics; concentrating on one such example in some detail. Specifically, I will consider the line of my research involving denotational models of the pi calculus and algebraic theories with variable-binding operators, indicating how the abstract mathematical structure underlying these models fits with that of Joyal’s combinatorial species of structures. This analysis suggests both the unification and generalisation of models, and in the latter vein I will introduce generalised species of structures and their calculus. These generalised species encompass and generalise various of the notions of species used in combinatorics. Furthermore, they have a rich mathematical structure (akin to models of Girard’s linear logic) that can be described purely within Lawvere’s generalised logic. Indeed, I will present and treat the cartesian closed structure, the linear structure, the differential structure, etc. of generalised species axiomatically in this mathematical framework. As an upshot, I will observe that the setting allows for interpretations of computational calculi (like the lambda calculus, both typed and untyped; the recently introduced differential lambda calculus of Ehrhard and Regnier; etc.) that can be directly seen as translations into a more basic elementary calculus of interacting agents that compute by communicating and operating upon structured data.
Compositional References for Stateful Functional Programming
- In Proceedings of the 2nd ACM SIGPLAN International Conference on Functional Programming (ICFP’97
, 1997
"... We introduce the notion of compositional references into the framework of monadic functional programming and propose a set of new primitives based on this notion. They enable us to use a wide range of mutable data structures. There, references may be passed around explicitly, or mutable data structu ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
We introduce the notion of compositional references into the framework of monadic functional programming and propose a set of new primitives based on this notion. They enable us to use a wide range of mutable data structures. There, references may be passed around explicitly, or mutable data structures such as arrays and tuples may be passed implicitly as hidden state. The former style is called the explicit style and is usually more expressive, while the latter is called the implicit style and has simpler semantics. We investigate the relation between the two styles and discus implementation issues. 1 Introduction Many proposals have been made toward a safe integration of a purely, lazy functional language with in-place updatable state [3, 1, etc.]. In a series of proposals [16, 11], the notion of monads [7] provides a basis for such an integration. Based on monads, Launchbury and Peyton Jones [5] proposed a way to express computations which deal with multiple mutable objects by pr...
Alternative Semantics for Verdi
, 1990
"... this report. Dan Craigen reviewed the report at various stages. iv EVES Project TR-90-5446-02 Chapter 1 Introduction A model theory and (parts of) a logic for Verdi are presented in the formal description of Verdi [12], together with a proof of soundness for the logic with respect to the model the ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
this report. Dan Craigen reviewed the report at various stages. iv EVES Project TR-90-5446-02 Chapter 1 Introduction A model theory and (parts of) a logic for Verdi are presented in the formal description of Verdi [12], together with a proof of soundness for the logic with respect to the model theory. While this development was useful in validating the proof theory, certain aspects of the model theory are unsatisfactory. In particular, the model-theoretic semantics is highly abstract; it is unclear exactly how certain parts of Verdi would be implemented. The present work complements the model theory by presenting an alternative definition of the semantics of the executable portion of Verdi, with a proof of correspondence between the new semantics and the old. The new semantic definition is denotational in style [4, 13, 14]. I tried as much as possible, within the other constraints of the project, to adopt the so-called "standard" style of definition. However, I avoided many of the usual typographical and notational conventions, as these were inconsistent with the existing model theory. Since the bulk of this report describes the relationship between the two definitions, notational inconsistencies are both awkward and annoying. Particular conventions avoided include "currying" of the semantic functions, the use of juxtaposition to indicate application, and semantic parentheses surrounding program text. Various aspects of Verdi are explained by the new semantic definition. In particular, there were a number of design considerations that, while significant to any implementor of the language, are not apparent in the model theory. Among these considerations are
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 7 (0 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.
A Filter Model for Mobile Processes
- MATH. STRUCT. IN COMP. SCIENCE
, 1993
"... This paper presents a filter model for π-calculus, and shows its full abstraction with respect to a "may" operational semantics. The model is introduced in the form of a type assignment system. Types are related by a preorder which mimics the operational behaviour of terms. A subject expansion th ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
This paper presents a filter model for π-calculus, and shows its full abstraction with respect to a "may" operational semantics. The model is introduced in the form of a type assignment system. Types are related by a preorder which mimics the operational behaviour of terms. A subject expansion theorem holds. Terms are interpreted as filters of types: this interpretation is compositional. The proof of full abstraction relies on a notion of realizability of types, and on the construction of terms, which test when an arbitrary term has a fixed type.
On the Denotational Semantics of Staged Execution of Open Code
- In Submitted to -- Nineteenth Annual Ieee Symposium On Logic In Computer Science
, 2004
"... The functional meta-programming language MetaML of Sheard et al contains explicit staging constructs for generating and executing code. It provides a much finer control over the order of computation than traditional languages with fixed-evaluation strategies. This paper presents a novel denotational ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
The functional meta-programming language MetaML of Sheard et al contains explicit staging constructs for generating and executing code. It provides a much finer control over the order of computation than traditional languages with fixed-evaluation strategies. This paper presents a novel denotational semantics for untyped MetaML that provides a remarkably simple treatment of two semantically problematic aspects of the language: computation involves substitution of open code values within the scope of variable-binding constructs; and it also involves "crossstage persistence"---the reification of compiled values when they are used in contexts expecting a higher-stage, symbolic value. It is shown that solving a suitable domain equation within the Gabbay-Pitts permutation-based model of names and binding produces a denotational semantics of untyped MetaML possessing a strong correspondence with Taha's big-step, structural operational semantics of the language. This gives rise to semantics-based interpreters for MetaML (written in Fresh O'Caml and in Haskell) and the validation of some programming laws for contextual equivalence of expressions.

