The algorithmic problem solving group conducts research into mathematical method, in particular the problem-solving skills involved in the formulation and solution of algorithmic problems. Our goal is to articulate these skills primarily by way of concrete examples, but also by the development of appropriate mathematical theory.
Roland Backhouse, Richard Bird and Paul Hoogendijk, Workshop on Generic Programming WGP09, 2009.
The “fan” of a datatype F is a relation that holds between a value x and an arbitrary F structure in which the only stored value is x. Fans are used to make precise the notion of the shape of a data structure. For arbitrary datatypes F, G and H, we consider six different ways of composing their fans in order to construct F structures of G structures of H structures; each of the six imposes a different requirement on the shape of the substructures. We catalogue the relation between different combinations of the constructions. We apply the result to the shape properties of a natural transformation (aka polymorphic relation) from G structures to FG structures.
Available from: http://www.cs.nott.ac.uk/~rcb/MPC/FanClub.pdf