29

Is there a list of them with examples accessible to a person without extensive category theory knowledge?

Don Stewart
  • 137,316
  • 36
  • 365
  • 468
Fixpoint
  • 9,619
  • 17
  • 59
  • 78

5 Answers5

21

Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire(PDF) should help as well. The notation will get a bit hairy, but reading it a few times you should be able to knock down that list of yours.

Also, take a look at the recursion schemes (archived) blog post, the blogger plans on presenting each individually soon, so check back to it regularly --I guess.

nlucaroni
  • 47,556
  • 6
  • 64
  • 86
  • Thank you, the paramorphism description there helped. – Fixpoint May 29 '09 at 12:03
  • The author of that blog post told me a day or two ago that he was aware his blog is currently down but that he is traveling and won't be able to do anything about it for another week. – dfeuer Feb 01 '15 at 23:01
  • ahh, it was down a while ago too for some time. I had actually (at this point) figured he took it off-line. thanks – nlucaroni Feb 02 '15 at 02:22
11

Edward Kmett recently posted a Field Guide to recursion schemes, perhaps it helps?

shapr
  • 1,676
  • 13
  • 18
  • 3
    Happy to help. Your best bet might be to start from, say, the dynamorphism paper by Vene and Kabanov. Since it motivates at least the use of histo and dyna and from there you can figure out futu. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.60.9336 – Edward Kmett Jun 12 '09 at 13:59
10

Start with learning about catamorphisms; those are the easiest to grasp. You already know one: foldr!

Then go for anamorphisms (unfoldr) and paramorphisms. Only then go for the other Wikipedia articles/papers; by then they will be easier to understand.

Martijn
  • 6,713
  • 3
  • 31
  • 38
  • 2
    I've already grasped cata, ana, hylo and meta, that's why I didn't mentioned them in question. :) For the rest wikipedia articles are not very extensive or don't exist. – Fixpoint May 29 '09 at 12:02
7

Check out Tim Williams' slide on recursion schemes here:

http://www.timphilipwilliams.com/slides.html

They explain all of the *-morphisms with motivating examples of each.

Ben Ford
  • 2,087
  • 21
  • 26
3

Here's a start: Wikipedia "Recursion schemes" category.

mqp
  • 70,359
  • 14
  • 95
  • 123