

Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire (1991) [pdf] - brudgers
http://eprints.eemcs.utwente.nl/7281/01/db-utwente-40501F46.pdf

======
Nzen
By Meijer, E ; Fokkinga, M ; Paterson, R // Abstract:

> We develop a calculus for lazy functional programming based on recursion
> operators associated with data type definitions.

> For these algebraic operators we derive various algebraic laws that are
> useful in deriving and manipulating programs.

> We shall show that all example functions in Bill & Wadler's "Introduction to
> Functional Programming" can be expressed in these operators.

Is this the beginning of Haskell?

~~~
siddboots
Haskell is particularly amenable to working with these morphisms because can
be lazy and can be point-free, but that's really as far as the connection
goes. This is something that you would need to build in Haskell.

It's worth saying that this paper isn't really about introducing new concepts.
Instead this is about creating a new vocabulary in the form of a calculus for
the construction of recursive functions.

