

A calculus of functions for program derivation (1987) - wslh
http://www.cs.ox.ac.uk/files/3384/PRG64.pdf

======
haliax
I've not read this paper, but studied the technique described here.

A good example of the sort of thing this lets you do is the fold fusion, which
(under the conditions which you need to derive the equality) lets you collapse
multiple calls to fold (reduce) in to a single call, with a combined function:

foldr f e (foldr g e' xs) = foldr h i xs

When the first foldr is something like tails, which produces a list of lists
of length ~|xs| this can turn an N^2 operation into a linear one,
mechanically!

------
dustingetz
if anyone actually reads this, can you review it here? what did you get out of
it, what level is the target audience? we all have a lot of books, papers and
videos on our reading lists, they all overlap, reviews help optimize our time.

~~~
won_gFaere
I don't have time to read it either but its about: Bird-Meertens Formalism
which you can find out about via google.

------
JadeNB
Is this the predecessor to Bird and de Moor's "Algebra of programming"?

------
ranit8
Abstract leading to the PDF:
[http://www.cs.ox.ac.uk/publications/publication3843-abstract...](http://www.cs.ox.ac.uk/publications/publication3843-abstract.html)

