Results 1  10
of
20
Games and Full Abstraction for the Lazy lambdacalculus
 In Proceedings, Tenth Annual IEEE Symposium on Logic in Computer Science
, 1995
"... ion for the Lazy calculus Samson Abramsky Guy McCusker Department of Computing Imperial College of Science, Technology and Medicine 180 Queen's Gate London SW7 2BZ United Kingdom Abstract We define a category of games G, and its extensional quotient E . A model of the lazy calculus, a typ ..."
Abstract

Cited by 133 (9 self)
 Add to MetaCart
ion for the Lazy calculus Samson Abramsky Guy McCusker Department of Computing Imperial College of Science, Technology and Medicine 180 Queen's Gate London SW7 2BZ United Kingdom Abstract We define a category of games G, and its extensional quotient E . A model of the lazy calculus, a typefree functional language based on evaluation to weak head normal form, is given in G, yielding an extensional model in E . This model is shown to be fully abstract with respect to applicative simulation. This is, so far as we know, the first purely semantic construction of a fully abstract model for a reflexivelytyped sequential language. 1 Introduction Full Abstraction is a key concept in programming language semantics [9, 12, 23, 26]. The ingredients are as follows. We are given a language L, with an `observational preorder'  on terms in L such that P  Q means that every observable property of P is also satisfied by Q; and a denotational model MJ\DeltaK. The model M is then said to be f...
A nondeterministic callbyneed lambda calculus
 INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING
, 1998
"... In this paper we present a nondeterministic callbyneed (untyped) lambda calculus nd with a constant choice and a letsyntax that models sharing. Our main result is that nd has the nice operational properties of the standard lambda calculus: confluence on sets of expressions, and normal order redu ..."
Abstract

Cited by 14 (7 self)
 Add to MetaCart
In this paper we present a nondeterministic callbyneed (untyped) lambda calculus nd with a constant choice and a letsyntax that models sharing. Our main result is that nd has the nice operational properties of the standard lambda calculus: confluence on sets of expressions, and normal order reduction is sufficient to reach head normal form. Using a strong contextual equivalence we show correctness of several program transformations. In particular of lambdalifting using deterministic maximal free expressions. These results show that nd is a new and also natural combination of nondeterminism and lambdacalculus, which has a lot of opportunities for parallel evaluation. An intended application of nd is as a foundation for compiling lazy functional programming languages with I/O based on direct calls. The set of correct program transformations can be rigorously distinguished from noncorrect ones. All program transformations are permitted with the slight exception that for transformations like common subexpression elimination and lambdalifting with maximal free expressions the involved subexpressions have to be deterministic ones.
A fully abstract semantics for concurrent graph reduction (Extended Abstract)
, 1993
"... . This paper presents a formal model of the concurrent graph reduction implementation of nonstrict functional programming. This model diers from other models in that: It represents concurrent rather than sequential graph reduction. It represents lowlevel considerations such as garbage collecti ..."
Abstract

Cited by 13 (1 self)
 Add to MetaCart
. This paper presents a formal model of the concurrent graph reduction implementation of nonstrict functional programming. This model diers from other models in that: It represents concurrent rather than sequential graph reduction. It represents lowlevel considerations such as garbage collection. It uses techniques from concurrency theory to simplify the presentation. There are three presentations of this model: An operational semantics based on graph reduction. A denotational semantics in the domain D ' (D !D)? . A program logic and proof system based on coppo types. We can then use abramsky and ong's techniques from the lazy  calculus to show that the denotational semantics is fully abstract for the operational semantics. This proof requires some results about the operational semantics: Since the operational semantics includes garbage collection, reduction is not conuent. We nd a conuent reduction strategy which has the same convergence properties as gr...
Filter Models for ConjunctiveDisjunctive λcalculi
, 1996
"... The distinction between the conjunctive nature of nondeterminism as opposed to the disjunctive character of parallelism constitutes the motivation and the starting point of the present work. λcalculus is extended with both a nondeterministic choice and a parallel operator; a notion of reduction i ..."
Abstract

Cited by 11 (6 self)
 Add to MetaCart
The distinction between the conjunctive nature of nondeterminism as opposed to the disjunctive character of parallelism constitutes the motivation and the starting point of the present work. λcalculus is extended with both a nondeterministic choice and a parallel operator; a notion of reduction is introduced, extending fireduction of the classical calculus. We study type assignment systems for this calculus, together with a denotational semantics which is initially defined constructing a set semimodel via simple types. We enrich the type system with intersection and union types, dually reflecting the disjunctive and conjunctive behaviour of the operators, and we build a filter model. The theory of this model is compared both with a Morrisstyle operational semantics and with a semantics based on a notion of capabilities.
Unique Fixed Point Induction for McCarthy's Amb
 IN: PROCEEDINGS OF THE 24TH INTERNATIONAL SYMPOSIUM ON MATHEMATICAL FOUNDATIONS OF COMPUTER SCIENCE, ”LNCS” 1672
, 1999
"... We develop an operational theory of higherorder functions, recursion, and fair nondeterminism for a nontrivial, higherorder, callbyname functional programming language extended with McCarthy's amb. Implemented via fair parallel evaluation, functional programming with amb is very expres ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
We develop an operational theory of higherorder functions, recursion, and fair nondeterminism for a nontrivial, higherorder, callbyname functional programming language extended with McCarthy's amb. Implemented via fair parallel evaluation, functional programming with amb is very expressive. However, conventional semantic fixed point principles for reasoning about recursion fail in the presence of fairness. Instead, we adapt higherorder operational methods to deal with fair nondeterminism. We present two natural semantics, describing mayand mustconvergence, and define a notion of contextual equivalence over these two modalities. The presence of amb raises special difficulties when reasoning about contextual equivalence. In particular, we report on a challenging open problem with regard to the validity of bisimulation proof methods. We develop two sound and useful reasoning methods which, in combination, enable us to prove a rich collection of laws for contextual...
FUNDIO: A LambdaCalculus with a letrec, case, Constructors, and an IOInterface: Approaching a Theory of unsafePerformIO. Frank report 16, Institut für
 Informatik, J.W. GoetheUniversität Frankfurt, September 2003. SSSS04. Manfred SchmidtSchauß, Marko Schütz, and
"... Abstract. A nondeterministic callbyneed lambdacalculus λndlr with case, constructors, letrec and a (nondeterministic) erratic choice, based on rewriting rules is investigated. A standard reduction is defined as a variant of leftmost outermost reduction. The semantics is defined by contextual e ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Abstract. A nondeterministic callbyneed lambdacalculus λndlr with case, constructors, letrec and a (nondeterministic) erratic choice, based on rewriting rules is investigated. A standard reduction is defined as a variant of leftmost outermost reduction. The semantics is defined by contextual equivalence of expressions instead of using αβ(η)equivalence. It is shown that several program transformations are correct, for example all (deterministic) rules of the calculus, and in addition the rules for garbage collection, removing indirections and unique copy. This shows that the combination of a context lemma and a metarewriting on reductions using complete sets of commuting (forking, resp.) diagrams is a useful and successful method for providing a semantics of a functional programming language and proving correctness of program transformations. 1
Discrimination by Parallel Observers: the Algorithm
 LICS '97 , IEEE COMP. SOC
, 1998
"... The main result of the paper is a constructive proof of the following equivalence: two pure λterms are observationally equivalent in the lazy concurrent λcalculus iff they have the same LévyLongo trees. An algorithm which allows to build a context discriminating any two pure λterms with diffe ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
The main result of the paper is a constructive proof of the following equivalence: two pure λterms are observationally equivalent in the lazy concurrent λcalculus iff they have the same LévyLongo trees. An algorithm which allows to build a context discriminating any two pure λterms with different LévyLongo trees is described. It follows that contextual equivalence coincides with behavioural equivalence (bisimulation) as considered by Sangiorgi. Another consequence is that the discriminating power of concurrent lambda contexts is the same as that of BoudolLaneve's contexts with multiplicities.
A Fully Abstract Semantics for a Nondeterministic Functional Language With Monadic Types
, 1995
"... This paper presents a functional programming language, based on Moggi's monadic metalanguage. In the first part of this paper, we show how the language can be regarded as a monad on a category of signatures, and that the resulting category of algebras is equivalent to the category of computatio ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
This paper presents a functional programming language, based on Moggi's monadic metalanguage. In the first part of this paper, we show how the language can be regarded as a monad on a category of signatures, and that the resulting category of algebras is equivalent to the category of computationally cartesian closed categories. In the second part, we extend the language to include a nondeterministic operational semantics, and show that the lower powerdomain semantics is fully abstract for maytesting. 1 Introduction Moggi has proposed strong monads as an appropriate way to model computation. In [9], he shows that any model of computation satisfying certain equations forms a strong monad. His work concentrates on the denotational properties of programs, whereas we shall show how his work can be applied to an operational semantics. In the first section of this paper, we present a slight variant on his functional monadic metalanguage and show that its algebras are equivalent to strong mo...
Action Semantics Reasoning About Functional Programs
 Mathematical Structures in Computer Science
, 1996
"... syntax The algebraic definition of abstract syntax trees below can, more or less, be read as a BNF grammar. Emphatic brackets, [[: : : ]], indicate nodes in an abstract syntax tree. grammar: ffl Expression = Identifier "true" "false" [[ "" Identifier "." E ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
syntax The algebraic definition of abstract syntax trees below can, more or less, be read as a BNF grammar. Emphatic brackets, [[: : : ]], indicate nodes in an abstract syntax tree. grammar: ffl Expression = Identifier "true" "false" [[ "" Identifier "." Expression ]] [[ Expression Expression ]] [[ "rec" Identifier "." Expression ]] [[ "if" Expression "then" Expression "else" Expression ]] . Action semantics reasoning about functional programs 3 ffl Identifier = [[ letter + ]] . 2.2. Semantic functions Action semantic descriptions are syntaxdirected in the denotational style: compositional semantic functions map abstract syntax into meaning and are defined inductively by semantic equations. There is one universal semantic domain, namely action, the sort of actions. Actions are expressed in a notation that looks a little like informal English prose but, in fact, it is a completely formal combinatorbased notation. The verbose notation should be suggestive of the meaning of th...