Sat Feb 13 14:37:50 CET 2010
Name my recursion pattern
How is this called:
1. start with a list: [a] and a context c
2. for each a <- [a], map (a,c) -> (a',c')
3. collect [a'] and c'
Functor? Applicative functor? Monad? Arrow?
a0 a1 ...
s0 -> s1 ...
b0 b1 ...
Does it fit in one of the following?
class Functor f where
fmap :: (a -> b) -> f a -> f b
lass (Functor f) => Applicative f where
pure :: a -> f a
(<*>) :: f (a -> b) -> f a -> f b