Results 1 
6 of
6
Adequacy for algebraic effects
 In 4th FoSSaCS
, 2001
"... We present a logic for algebraic effects, based on the algebraic representation of computational effects by operations and equations. We begin with the acalculus, a minimal calculus which separates values, effects, and computations and thereby canonises the order of evaluation. This is extended to ..."
Abstract

Cited by 30 (16 self)
 Add to MetaCart
We present a logic for algebraic effects, based on the algebraic representation of computational effects by operations and equations. We begin with the acalculus, a minimal calculus which separates values, effects, and computations and thereby canonises the order of evaluation. This is extended to obtain the logic, which is a classical firstorder multisorted logic with higherorder value and computation types, as in Levy’s callbypushvalue, a principle of induction over computations, a free algebra principle, and predicate fixed points. This logic embraces Moggi’s computational λcalculus, and also, via definable modalities, HennessyMilner logic, and evaluation logic, though Hoare logic presents difficulties. 1
Delimiting the Scope of Effects
 In Proceedings of the Conference on Functional Programming Languages and Computer Architecture
, 1993
"... Program fragments in functional languages may be observationally congruent in a language without effects (continuations, state, exceptions) but not in an extension with effects. We give a generic way to preserve pure functional congruences by means of an effects delimiter. The effects delimiter is ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
Program fragments in functional languages may be observationally congruent in a language without effects (continuations, state, exceptions) but not in an extension with effects. We give a generic way to preserve pure functional congruences by means of an effects delimiter. The effects delimiter is defined semantically using the retraction techniques of [14], but can also be given an operational semantics. We show that the effects delimiter restores observational congruences between purely functional pieces of code, thus achieving a modular separation between the purely functional language and its extensions. 1 Introduction Functional programming is a powerful paradigm, but it has long been recognized that purely functional programs are often inefficient and cumbersome. Many modern functional languages, e.g., SML [9], build in control and state features that strictly fall outside the functional paradigm. For example, SML of New Jersey includes a "callwithcurrentcontinuation" opera...
Lower Bag Domains
 Fundamenta Informaticae
, 1995
"... . Two lower bag domain constructions are introduced: the initial construction which gives free lower monoids, and the final construction which is defined explicitly in terms of second order functions. The latter is analyzed closely. For sober dcpo's, the elements of the final lower bag domains can b ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
. Two lower bag domain constructions are introduced: the initial construction which gives free lower monoids, and the final construction which is defined explicitly in terms of second order functions. The latter is analyzed closely. For sober dcpo's, the elements of the final lower bag domains can be described concretely as bags. For continuous domains, initial and final lower bag domains coincide. They are continuous again and can be described via a basis which is constructed from a basis of the argument domain. The lower bag domain construction preserves algebraicity and the properties I and M, but does not preserve bounded completeness, property L, or bifiniteness. 1 Introduction Power domain constructions [13, 15, 16] were introduced to describe the denotational semantics of nondeterministic programming languages. A power domain construction is a domain constructor P , which maps domains to domains, together with some families of continuous operations. If X is the semantic domain ...
Full Abstractness for a Functional/Concurrent Language With HigherOrder ValuePassing
, 1998
"... We study an applied typed callbyvalue calculus which in addition to the usual types for higherorder functions contains an extra type called proc, for processes. The constructors for terms of this type are similar to those found in standard process calculi such as CCS. We first give an operationa ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
We study an applied typed callbyvalue calculus which in addition to the usual types for higherorder functions contains an extra type called proc, for processes. The constructors for terms of this type are similar to those found in standard process calculi such as CCS. We first give an operational semantics for this language in terms of a labelled transition system which is then used to give a behavioural preorder based on contexts: the expression N dominates M if in every appropriate context if M can produce a boolean value then so can N. Based on standard domain constructors we define a model, a prime algebraic lattice, which is fully abstract with respect to this behaviour preorder.
Finite Domains in the Constrained Lambda Calculus
 In Proceedings of the PostConference Workshop on Constraints, Databases and Logic Programming. International Logic Programming Symposium (ILPS)y
, 1995
"... In [4, 7] a calculus with constraints which extends the traditional lambda calculus was presented. Here an instantiation of that general framework with finite domains is presented. An operational semantics for this approach is given. The set of reduction rules is enlarged with an operational #ru ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
In [4, 7] a calculus with constraints which extends the traditional lambda calculus was presented. Here an instantiation of that general framework with finite domains is presented. An operational semantics for this approach is given. The set of reduction rules is enlarged with an operational #rule for logical variables, since inequality is decidable in finite domains. A reduction strategy has been introduced: the depth first search in order to deal with disjunctive terms; in this way, give a disjunction, the leftmost meaningful subterm is chosen. Backtracking points are set while testing constraints and new reduction rules are introduced for the manipulation of the backtracking. Finally three typical examples, namely electrical circuits, SEND +MORE = MONEY and nqueens, are presented. keywords: #calculus, Constraints, Functional Programming, Finite Domains, Operational Semantics. Introduction An extension to the traditional functional languages with constraints was prese...
The Convex Powerdomain in a Category of Posets Realized By Cpos
 In Proc. Category Theory and Computer Science
, 1995
"... . We construct a powerdomain in a category whose objects are posets of data equipped with a cpo of "intensional" representations of the data, and whose morphisms are those monotonic functions between posets that are "realized" by continuous functions between the associated cpos. The category of cpos ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
. We construct a powerdomain in a category whose objects are posets of data equipped with a cpo of "intensional" representations of the data, and whose morphisms are those monotonic functions between posets that are "realized" by continuous functions between the associated cpos. The category of cpos is contained as a full subcategory that is preserved by lifting, sums, products and function spaces. The construction of the powerdomain uses a cpo of binary trees, these being intensional representations of nondeterministic computation. The powerdomain is characterized as the free semilattice in the category. In contrast to the other type constructors, the powerdomain does not preserve the subcategory of cpos. Indeed we show that the powerdomain has interesting computational properties that differ from those of the usual convex powerdomain on cpos. We end by considering the solution of recursive domain equations. The surprise here is that the limitcolimit coincidence fails. Nevertheless, ...