Results 1 - 10
of
23
On the Observable Properties of Higher Order Functions that Dynamically Create Local Names (preliminary report)
- 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 side-ef ..."
Abstract
-
Cited by 106 (12 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 side-effects, exceptional termination and non-termination 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
Categorical Models for Local Names
- LISP AND SYMBOLIC COMPUTATION
, 1996
"... This paper describes the construction of categorical models for the nu-calculus, a language that combines higher-order functions with dynamically created names. Names are created with local scope, they can be compared with each other and passed around through function application, but that is all. T ..."
Abstract
-
Cited by 38 (2 self)
- Add to MetaCart
This paper describes the construction of categorical models for the nu-calculus, a language that combines higher-order functions with dynamically created names. Names are created with local scope, they can be compared with each other and passed around through function application, but that is all. The intent behind this language is to examine one aspect of the imperative character of Standard ML: the use of local state by dynamic creation of references. The nu-calculus is equivalent to a certain fragment of ML, omitting side effects, exceptions, datatypes and recursion. Even without all these features, the interaction of name creation with higher-order functions can be complex and subtle; it is particularly difficult to characterise the observable behaviour of expressions. Categorical monads, in the style of Moggi, are used to build denotational models for the nu-calculus. An intermediate stage is the use of a computational metalanguage, which distinguishes in the type system between values and computations. The general requirements for a categorical model are presented, and two specific examples described in detail. These provide a sound denotational semantics for the nu-calculus, and can be used to reason about observable equivalence in the language. In particular a model using logical relations is fully abstract for first-order expressions.
Logical Full Abstraction and PCF
- Tbilisi Symposium on Language, Logic and Computation. SiLLI/CSLI
, 1996
"... ion and PCF John Longley Gordon Plotkin March 15, 1996 Abstract We introduce the concept of logical full abstraction, generalising the usual equational notion. We consider the language PCF and two extensions with "parallel" operations. The main result is that, for standard interpretations, lo ..."
Abstract
-
Cited by 13 (5 self)
- Add to MetaCart
ion and PCF John Longley Gordon Plotkin March 15, 1996 Abstract We introduce the concept of logical full abstraction, generalising the usual equational notion. We consider the language PCF and two extensions with "parallel" operations. The main result is that, for standard interpretations, logical full abstraction is equivalent to equational full abstraction together with universality; the proof involves constructing enumeration operators. We also consider restrictions on logical complexity and on the level of types. 1 Introduction The study of denotational semantics seeks to provide mathematical descriptions of programming languages by giving denotations of programs in terms of previously understood mathematical structures. For example, if P is a program that takes an input and produces an output, we might take its denotation to be a function from a set of input-values to a set of output-values. The most widely-known approach to denotational semantics is that of traditiona...
Ten Theses on Logic Languages for the Semantic Web
- In Int. Workshop on Principles and Practice of Semantic Web Reasoning
, 2005
"... Abstract. This articles discusses the logic, or logic-based, languages required for a full deployment of the Semantic Web. It presents ten theses addressing 1. the kinds of logic languages needed, 2. data and data processing, 3. semantics, and 4. engineering and rendering issues. The views reported ..."
Abstract
-
Cited by 12 (8 self)
- Add to MetaCart
Abstract. This articles discusses the logic, or logic-based, languages required for a full deployment of the Semantic Web. It presents ten theses addressing 1. the kinds of logic languages needed, 2. data and data processing, 3. semantics, and 4. engineering and rendering issues. The views reported about in this article have been presented at the W3C
A Typed Context Calculus
, 2001
"... This paper develops a typed calculus for contexts i.e., lambda terms with "holes". In addition to ordinary lambda terms, the calculus contains labeled holes, hole abstraction and context application for manipulating first-class contexts. The primary operation for contexts is hole-filling, which capt ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
This paper develops a typed calculus for contexts i.e., lambda terms with "holes". In addition to ordinary lambda terms, the calculus contains labeled holes, hole abstraction and context application for manipulating first-class contexts. The primary operation for contexts is hole-filling, which captures free variables. This operation conicts with substitution of the lambda calculus, and a straightforward mixture of the two results in an inconsistent system. We solve this problem by defining a type system that precisely specifies the variable-capturing nature of contexts and that keeps track of bound variable renaming. These mechanisms enable us to define a reduction system that properly integrates beta-reduction and hole-filling. The resulting calculus is Church-Rosser and the type system has the subject reduction property. We believe that the context calculus will serve as a basis for developing a programming language with advanced features that call for manipulation of open terms.
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
A Study of Semantics, Types, and Languages for Databases and Object Oriented Programming
, 1989
"... The purpose of this thesis is to investigate a type system for databases and object-oriented programming and to design a statically typed programming language for these applications. Such a language should ideally have a static type system that supports: • polymorphism and static type inference, • r ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
The purpose of this thesis is to investigate a type system for databases and object-oriented programming and to design a statically typed programming language for these applications. Such a language should ideally have a static type system that supports: • polymorphism and static type inference, • rich data structures and operations to represent various data models for databases including the relational model and more recent complex object models, • central features of object-oriented programming including user definable class hierarchies, multiple inheritance, and data abstraction, • the notion of extents and object-identities for object-oriented databases. Without a proper formalism, it is not obvious that the construction of such a type system is possible. This thesis attempts to construct one such formalism and proposes a programming language that uniformly integrate all of the above features. The specific contributions of this thesis include: • A simple semantics for ML polymorphism and axiomatization of the equational theory of ML. • A uniform generalization of the relational model to arbitrary complex database objects that
Bistructures, Bidomains and Linear Logic
- in Proc. 21st ICALP
, 1997
"... Bistructures are a generalisation of event structures which allow a representation of spaces of functions at higher types in an orderextensional setting. The partial order of causal dependency is replaced by two orders, one associated with input and the other with output in the behaviour of func ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
Bistructures are a generalisation of event structures which allow a representation of spaces of functions at higher types in an orderextensional setting. The partial order of causal dependency is replaced by two orders, one associated with input and the other with output in the behaviour of functions. Bistructures form a categorical model of Girard's classical linear logic in which the involution of linear logic is modelled, roughly speaking, by a reversal of the roles of input and output. The comonad of the model has an associated co-Kleisli category which is closely related to that of Berry's bidomains (both have equivalent non-trivial full sub-cartesian closed categories).
Full Abstraction, Totality and PCF
- Math. Structures Comput. Sci
, 1997
"... ion, Totality and PCF Gordon Plotkin Abstract Inspired by a question of Riecke, we consider the interaction of totality and full abstraction, asking whether full abstraction holds for Scott's model of cpos and continuous functions if one restricts to total programs and total observations. The ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
ion, Totality and PCF Gordon Plotkin Abstract Inspired by a question of Riecke, we consider the interaction of totality and full abstraction, asking whether full abstraction holds for Scott's model of cpos and continuous functions if one restricts to total programs and total observations. The answer is negative, as there are distinct operational and denotational notions of totality. However, when two terms are each total in both senses then they are totally equivalent operationally iff they are totally equivalent in the Scott model. Analysing further, we consider sequential and parallel versions of PCF and several models: Scott's model of continuous functions, Milner's fully abstract model of PCF and their effective submodels. We investigate how totality differs between these models. Some apparently rather difficult open problems arise, essentially concerning whether the sequential and parallel versions of PCF have the same expressive power, in the sense of total equivale...

