Nested (or non-uniform, or non-regular) datatypes have recursive definitions in which the type parameter changes. Their folds are restricted in power due to type constraints. Bird and Paterson introduced generalised folds for extra power, but at the cost of a loss of efficiency: folds may take more than linear time to evaluate. Hinze introduced efficient generalised folds to counter this inefficiency, but did so in a pragmatic way, at the cost of a loss of reasoning power: without categorical or equivalent underpinnings, there are no universal properties for manipulating folds. We combine the efficiency of Hinze's construction with the powerful reasoning tools of Bird and Paterson's
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
Fold and unfold are general purpose functionals for process-ing and constructing lists. By using the...
Nested (or non-uniform, or non-regular) datatypes have recursive definitions in which the type param...
Abstract. Nested datatypes generalise regular datatypes in much the same way that context-free langu...
Fold operators capture a common recursion pattern over algebraic datatypes. A fold essentially repla...
The theory and practice of polytypic programming is intimately connected with the initial algebra se...
Defining functions over large, possibly recursive, data structures usually involves a lot of boilerp...
The theory and practice of polytypic programming is intimately connected with the initial algebra se...
AbstractDefining functions over large, possibly recursive, data structures usually involves a lot of...
The theory and practice of polytypic programming is intimately connected with the initial algebra ...
Fold and unfold are general purpose functionals for processing and constructing lists. By using the ...
Nested (or non-regular or non-uniform) datatypes are recursively defined parameterised datatypes in ...
We solve the problem of extending Bird and Paterson's generalized folds for nested datatypes a...
International audienceNonuniform (or " nested " or " heterogeneous ") data-types are recursively def...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
Fold and unfold are general purpose functionals for process-ing and constructing lists. By using the...
Nested (or non-uniform, or non-regular) datatypes have recursive definitions in which the type param...
Abstract. Nested datatypes generalise regular datatypes in much the same way that context-free langu...
Fold operators capture a common recursion pattern over algebraic datatypes. A fold essentially repla...
The theory and practice of polytypic programming is intimately connected with the initial algebra se...
Defining functions over large, possibly recursive, data structures usually involves a lot of boilerp...
The theory and practice of polytypic programming is intimately connected with the initial algebra se...
AbstractDefining functions over large, possibly recursive, data structures usually involves a lot of...
The theory and practice of polytypic programming is intimately connected with the initial algebra ...
Fold and unfold are general purpose functionals for processing and constructing lists. By using the ...
Nested (or non-regular or non-uniform) datatypes are recursively defined parameterised datatypes in ...
We solve the problem of extending Bird and Paterson's generalized folds for nested datatypes a...
International audienceNonuniform (or " nested " or " heterogeneous ") data-types are recursively def...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
Fold and unfold are general purpose functionals for process-ing and constructing lists. By using the...