Building on the power of functors we examine a few scenarios where a normal Functor is problematic. Fortunately, there is a closely related structure known as an Applicative Functor that can provide the capabilities to solve a broader range of problems.
Episode 17 patrons:
Chad Wooley David Keathley Andre Carvalho
Show Notes:
Coconut programming language: http://coconut-lang.org/
Hack nights instead of presentations: http://tech.noredink.com/post/142283641812/designing-meetups-to-build-better-communities
class Functor f => Applicative f where pure :: Applicative f => a -> f a ap :: Applicative f => f (a -> b) -> f a -> f b
Example of applicative usage:
pure (+) Just 3 Just 2 -- this results in Just 5 (+) Just 3 Just 2 -- this is the same as above liftA2 (+) (Just 3) (Just 2) -- alternate form using lift instead of infix operators