
If it makes sense to apply a "Foo of functions" to a value,
That's just a functor. "fmap ($ value) foos".
But yes, if you want to do this with more than one foo (or functions inside
a foo), then you need applicative.
e.g.
(+) <$> [1,2,3] <*> [10,20,30]
On Wed, Jun 15, 2016 at 10:29 AM, John Wiegley
martin
writes: I am at a stage, where I can use some of the Monads and Applicatives which are out there. But I hardly ever wrote my own instances. I am curious to learn about the thought processes which lead to the insight "hey that can be written nicely as an Applicative Functor"
When I realize Monad might be useful:
If it makes sense for a "Foo of Foos" (over some type) to be reduced to a Foo.
When I realize Applicative might be useful:
If it makes sense to apply a "Foo of functions" to a value, or a function taking two or more arguments to two or more Foos, throughout those Foos.
-- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe