Functional Programming with Bananas, etc.
Best formal academic paper title I've seen in a long time:
a 1991 paper by Erik Meijer, Maarten Fokkinga, and Ross Paterson,
called
Functional Programming with Bananas, Lenses, Envelopes, and Barbed Wire
I haven't read it, so I don't quite know where the Barbed Wire comes in —
it starts out with some pretty formal definitions of catamorphisms, anamorphisms,
hylomorphisms, and paramorphisms as they apply to the list data type.
No, I don't know what those are, either, except that I've heard that
the Haskell "fold" family of functions are catamorphisms.
The paper was a bit hard to find — some of the links to it (in particular,
some links from
citeseer) were wrong. I found it on M. Fokkinga's
current home page,
http://wwwhome.cs.utwente.nl/~fokkinga/#mmf91m
12:25:53 AM