Is there a list of them with examples accessible to a person without extensive category theory knowledge?
相关问题
- Understanding do notation for simple Reader monad:
- Making Custom Instances of PersistBackend
- Haskell: What is the differrence between `Num [a]
- applying a list to an entered function to check fo
- Relation between Function1 and Reader Monad
相关文章
- Is it possible to write pattern-matched functions
- Haskell underscore vs. explicit variable
- Is there something like the threading macro from C
- Top-level expression evaluation at compile time
- Stuck in the State Monad
- Learning F#: What books using other programming la
- Creating a list of functions using a loop in R
- foldr vs foldr1 usage in Haskell
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.Here's a start: Wikipedia "Recursion schemes" category.
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.
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.
Edward Kmett recently posted a Field Guide to recursion schemes, perhaps it helps?