Results 1 
5 of
5
Functional Nets
 IN PROC. EUROPEAN SYMPOSIUM ON PROGRAMMING, NUMBER 1782 IN LNCS
, 2000
"... Functional nets combine key ideas of functional programming and Petri nets to yield a simple and general programming notation. They ..."
Abstract

Cited by 34 (5 self)
 Add to MetaCart
Functional nets combine key ideas of functional programming and Petri nets to yield a simple and general programming notation. They
Erratic Fudgets: A Semantic Theory for an Embedded Coordination Language
 SCIENCE OF COMPUTER PROGRAMMING
, 2003
"... The powerful abstraction mechanisms of functional programming languages provide the means to develop domainspecific programming languages within the language itself. Typically, this is realised by designing a set of combinators (higherorder reusable programs) for an application area, and by constr ..."
Abstract

Cited by 20 (3 self)
 Add to MetaCart
The powerful abstraction mechanisms of functional programming languages provide the means to develop domainspecific programming languages within the language itself. Typically, this is realised by designing a set of combinators (higherorder reusable programs) for an application area, and by constructing individual applications by combining and coordinating individual combinators. This paper is concerned with a successful example of such an embedded programming language, namely Fudgets, a library of combinators for building graphical user interfaces in the lazy functional language Haskell. The Fudget library has been used to build a number of substantial applications, including a web browser and a proof editor interface to a proof checker for constructive type theory. This paper develops a semantic theory for the nondeterministic stream processors that are at the heart of the Fudget concept. The interaction of two features of stream processors makes the development of such a semantic theory problematic: (i) the sharing of computation provided by the lazy evaluation mechanism of the underlying host language, and (ii) the addition of nondeterministic choice needed to handle the natural concurrency that reactive applications entail We demonstrate that this combination of features in a higherorder functional language can be tamed to provide a tractable semantic theory and induction principles suitable for reasoning about contextual equivalence of Fudgets.
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 Filter Model for Concurrent λCalculus
 SIAM J. Comput
, 1998
"... Type free lazy calculus is enriched with angelic parallelism and demonic nondeterminism. Callbyname and callbyvalue abstractions are considered and the operational semantics is stated in terms of a must convergence predicate. We introduce a type assignment system with intersection and union typ ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Type free lazy calculus is enriched with angelic parallelism and demonic nondeterminism. Callbyname and callbyvalue abstractions are considered and the operational semantics is stated in terms of a must convergence predicate. We introduce a type assignment system with intersection and union types and we prove that the induced logical semantics is fully abstract.
A Convex Powerdomain over Lattices: its Logic and λCalculus
, 1997
"... . To model at the same time parallel and nondeterministic functional calculi we define a powerdomain functor P such that it is an endofunctor over the category of algebraic lattices. P is locally continuous and we study the initial solution D 1 of the domain equation D = P([D ! D]? ). We derive f ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
. To model at the same time parallel and nondeterministic functional calculi we define a powerdomain functor P such that it is an endofunctor over the category of algebraic lattices. P is locally continuous and we study the initial solution D 1 of the domain equation D = P([D ! D]? ). We derive from the algebras of P the logic of D 1 , that is the axiomatic description of its compact elements. We then define a calculus and a type assignment system using the logic of D 1 as the related type theory. We prove that the filter model of this calculus, which is isomorphic to D 1 , is fully abstract with respect to the observational preorder of the calculus. Keywords: calculus, Nondeterminism, Full Abstraction, Powerdomain Construction, Intersection Type Disciplines. 1. Introduction One of the main issues in the design of programming languages is the achievement of a good compromise between the multiplicity of control structures and data types and the unicity of the mathematica...