Sciweavers

MPC
2010
Springer

Adjoint Folds and Unfolds

14 years 5 months ago
Adjoint Folds and Unfolds
Abstract. Folds and unfolds are at the heart of the algebra of programming. They allow the cognoscenti to derive and manipulate programs rigorously and effectively. Fundamental laws such as fusion codify basic optimisation principles. However, most, if not all, programs require some tweaking to be given the form of an (un-) fold, and thus make them amenable to formal manipulation. In this paper, we remedy the situation by introducing adjoint folds and unfolds. We demonstrate that most programs are already of the required form and thus are directly amenable to manipulation. Central to the development is the categorical notion of an adjunction, which links adjoint (un-) folds to standard (un-) folds. We discuss a number of adjunctions and show that they are directly relevant to programming. Key words: initial algebra, fold, final coalgebra, unfold, adjunction.
Ralf Hinze
Added 20 Jul 2010
Updated 20 Jul 2010
Type Conference
Year 2010
Where MPC
Authors Ralf Hinze
Comments (0)