Results 1 
5 of
5
Programming with bananas, lenses, envelopes and barbed wire
 In FPCA
, 1991
"... We develop a calculus for lazy functional programming based on recursion operators associated with data type definitions. For these operators we derive various algebraic laws that are useful in deriving and manipulating programs. We shall show that all example Functions in Bird and Wadler's &qu ..."
Abstract

Cited by 334 (12 self)
 Add to MetaCart
(Show Context)
We develop a calculus for lazy functional programming based on recursion operators associated with data type definitions. For these operators we derive various algebraic laws that are useful in deriving and manipulating programs. We shall show that all example Functions in Bird and Wadler's "Introduction to Functional Programming " can be expressed using these operators. 1
Iteration theories: The equational logic of iterative processes
 EATCS Monographs on Theoretical Computer Science
, 1993
"... This monograph contains the results of our joint research over the last ten years on the logic of the fixed point operation. The intended audience consists of graduate students and research scientists interested in mathematical treatments of semantics. We assume the reader has a good mathematical ba ..."
Abstract

Cited by 43 (2 self)
 Add to MetaCart
This monograph contains the results of our joint research over the last ten years on the logic of the fixed point operation. The intended audience consists of graduate students and research scientists interested in mathematical treatments of semantics. We assume the reader has a good mathematical background, although we provide some preliminary facts in Chapter 1. Written both for graduate students and research scientists in theoretical computer science and mathematics, the book provides a detailed investigation of the properties of the fixed point or iteration operation. Iteration plays a fundamental role in the theory of computation: for example, in the theory of automata, in formal language theory, in the study of formal power series, in the semantics of flowchart algorithms and programming languages, and in circular data type definitions. It is shown that in all structures that have been used as semantical models, the equational properties of the fixed point operation are captured by the axioms describing iteration theories. These structures include ordered algebras, partial functions, relations, finitary and infinitary regular languages, trees, synchronization trees, 2categories, and others. We begin with an introduction to the study of universal algebra in the framework of algebraic theories. A calculus is developed for manipulating algebraic theory terms. We proceed to develop the theory and investigate particular classes of examples. The emphasis is on equational proofs, as the title suggests. vii viii
Primitive Direcursion and Difunctorial Semantics of Typed Object Calculus
"... The fi rst part of this thesis consists of two research papers and concerns the fi eld of denotational semantics of typed object calculus, i.e., a formalism for objectbased programming. It provides a categorytheoretic semantics based on partial maps subject to an algebraic compactness assumption. ..."
Abstract
 Add to MetaCart
The fi rst part of this thesis consists of two research papers and concerns the fi eld of denotational semantics of typed object calculus, i.e., a formalism for objectbased programming. It provides a categorytheoretic semantics based on partial maps subject to an algebraic compactness assumption. This semantics interprets types as mixedvariant functors (socalled difunctors) and is therefore termed difunctorial. In addition, we prove computational soundness and adequacy results for typed object calculus via Plotkin’s FPC, thus providing a class of computationally adequate models for an extended fi rstorder typed object calculus (with recursive objects supporting method update, but not subtyping). Taken together, this provides a mathematical foundation for studying program algebras for objectbased programming languages. The second part (which appeared at CALCO 2007, SpringerVerlag) deals with recursion principles on datatypes, including the untyped lambda calculus as a special case. Freyd showed that, in certain domain