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
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