-
Book Overview & Buying
-
Table Of Contents
Soar with Haskell
By :
While we have used ZipList and the family of zip functions as our initial intuition for the notion of applicative functors, there is a different notion that is helpful to understand most Applicative instances: (computational) effects. The idea is that, whereas A denotes a readily available value, F A denotes a computation that yields a value of A. Depending on the type of computation, F, other relevant effects may happen during the computation. For example, the computation may fail for some reason, and thus not produce a value at all. We will explore this and several other other possible effects through different Applicative instances.
Failing computations may or may not yield a result. We have already modeled these using the Maybe type constructor, where Just x denotes a successful outcome with a result, x, and Nothing denotes failure to produce a result.
This type of constructor has the following instance: