A catamorphism for some F-algebra (X,f) is denoted

`cata`

φRule | Haskell |
---|---|

cata-cancel | cata phi . InF = phi . fmap (cata phi) |

cata-refl | cata InF = id |

cata-fusion | f . phi = phi . fmap f => |

cata-compose | eps :: forall x. f x -> g x => |

- L. Meertens. First Steps towards the theory of Rose Trees. Draft Report, CWI, Amsterdam, 1987.

- G. Malcolm. PhD. Thesis. University of Gronigen, 1990.

- G. Malcolm. Data structures and program transformation. Science of Computer Programming, 14:255--279, 1990.

- E. Meijer. Calculating Compilers, Ph.D Thesis, Utrecht State University, 1992.

http://research.microsoft.com/~emeijer/Papers/Thesis.pdf - E. Meijer, M. Fokkinga, R. Paterson, Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire, 5th ACM Conference on Functional Programming Languages and Computer Architecture.

http://research.microsoft.com/~emeijer/Papers/fpca91.pdf - T. Uustalu, V. Vene. Coding Recursion a la Mendler. Proceedings 2nd Workshop on Generic Programming, WGP'2000, Ponte de Lima, Portugal, 6 July 2000

http://citeseer.ist.psu.edu/314266.html - T. Uustalu, V. Vene, A. Pardo. Recursion schemes from Comonads. Nordic Journal of Computing. Volume 8 , Issue 3 (Fall 2001). 366--390, 2001 ISSN:1236-6064