Applicative programming with effects
November 2005Applicative programming with effectsApplicative programming with effects
This paperThe paper was published in the Journal of Functional Programming in January 2008, but we give an earlier date here as it seems to have been circulated much earlier. introduces applicative functors. Its definitions for Applicative
and Traversable
classes closely resemble what will soon appear in GHC 6.6.
In its discussion of how Applicative
differs from Monad
, it includes an example of an Either
-like type that can be used to sequence the results of multi-step computation and produce a list of all of the errors (not merely the first) if multiple steps fail. We commonly know this type today as Validation.
Authors: Conor McBride and Ross Paterson