Lennart Augustsson wrote:

 | > >   recurse :: (a -> c a -> b -> b) -> b -> c a -> b
 | >
 | > Could you give me some refrence on how that function is used as this is
 | > the first time I herd of it.
 | 
 | Well, I just made up the name since it's not a standard function (it
 | should be :-). It is useful for functions doing primitive recursion.

I think Lambert Meertens calls this a "paramorphism".
It is basically a catamorphism (fold), where you also
have access to the structure you are recursing on, not
just the result after recursion.

But since the FP culture changed from:

  catamorphism   ==>  fold
  anamorphism    ==>  unfold

I think

  paramorphism   ==>  recurse

is just as well :-)

I think it is also somewhere in Erik Meijer's thesis,
but I don't have it here, so I don't know. (But maybe
he doesn't want to be reminded of his banana period
anymore :-)

Regards,
Koen.

--
Koen Claessen,
[EMAIL PROTECTED],
http://www.cs.chalmers.se/~koen,
Chalmers University of Technology.



Reply via email to