In functional programming, fold is a standard operator that encapsulates a simple pattern of recursion for processing lists. This article is a tutorial on two key aspects of the fold operator for lists. First of all, we emphasize the use of the universal property of fold both as a proof principle that avoids the need for inductive proofs, and as a definition principle that guides the transformation of recursive functions into definitions using fold. Secondly, we show that even though the pattern of recursion encapsulated by fold is simple, in a language with tuples and functions as first-class values the fold operator has greater expressive power than might first be expected
Abstract. In this paper we formally state and prove theorems characterizing when a function can be c...
Fold and unfold are general purpose functionals for process-ing and constructing lists. By using the...
Fold functions are a general mechanism for computing over recursive data structures. First-order fol...
In functional programming, fold is a standard operator that encapsulates a simple pattern of recursi...
In this paper we explain how recursion operators can be used to structure and reason about program s...
One style of functional programming is based purely on recursive equations. Such equations are easy ...
AbstractWe give a necessary and sufficient condition for when a set-theoretic function can be writte...
We give a necessary and sufficient condition for when a set-theoretic function can be written using ...
In this paper we explain how recursion operators can be used to structure and reason about program s...
These notes discuss the simultaneous use of generalised fold operators and monads to structure funct...
The difficulty of programming indicates the value of possible further reduction in the complexity of...
In this paper we formally state and prove theorems characterizing when a function can be constructi...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
We give a necessary and sufficient condition for when a set-theoretic function can be written using ...
The worker/wrapper transformation is a general technique for improving the performance of re-cursive...
Abstract. In this paper we formally state and prove theorems characterizing when a function can be c...
Fold and unfold are general purpose functionals for process-ing and constructing lists. By using the...
Fold functions are a general mechanism for computing over recursive data structures. First-order fol...
In functional programming, fold is a standard operator that encapsulates a simple pattern of recursi...
In this paper we explain how recursion operators can be used to structure and reason about program s...
One style of functional programming is based purely on recursive equations. Such equations are easy ...
AbstractWe give a necessary and sufficient condition for when a set-theoretic function can be writte...
We give a necessary and sufficient condition for when a set-theoretic function can be written using ...
In this paper we explain how recursion operators can be used to structure and reason about program s...
These notes discuss the simultaneous use of generalised fold operators and monads to structure funct...
The difficulty of programming indicates the value of possible further reduction in the complexity of...
In this paper we formally state and prove theorems characterizing when a function can be constructi...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
We give a necessary and sufficient condition for when a set-theoretic function can be written using ...
The worker/wrapper transformation is a general technique for improving the performance of re-cursive...
Abstract. In this paper we formally state and prove theorems characterizing when a function can be c...
Fold and unfold are general purpose functionals for process-ing and constructing lists. By using the...
Fold functions are a general mechanism for computing over recursive data structures. First-order fol...