|
Control.Applicative | Portability | portable | Stability | experimental | Maintainer | libraries@haskell.org |
|
|
|
|
|
Description |
This module describes a structure intermediate between a functor and
a monad: it provides pure expressions and sequencing, but no binding.
(Technically, a strong lax monoidal functor.) For more details, see
Applicative Programming with Effects,
by Conor McBride and Ross Paterson, online at
http://www.soi.city.ac.uk/~ross/papers/Applicative.html.
This interface was introduced for parsers by Niklas Röjemo, because
it admits more sharing than the monadic interface. The names here are
mostly based on recent parsing work by Doaitse Swierstra.
This class is also useful with instances of the
Data.Traversable.Traversable class.
|
|
Synopsis |
|
|
|
|
Applicative functors
|
|
|
|
|
Alternatives
|
|
|
A monoid on applicative functors.
Minimal complete definition: empty and <|>.
some and many should be the least solutions of the equations:
| | Methods | | The identity of <|>
| | (<|>) :: f a -> f a -> f a | Source |
| An associative binary operation
| | | One or more.
| | | Zero or more.
|
|
|
|
Instances
|
|
|
|
|
newtype WrappedMonad m a | Source |
|
|
|
newtype WrappedArrow a b c | Source |
|
|
|
|
|
|
Utility functions
|
|
|
An infix synonym for fmap.
|
|
|
Replace all locations in the input with the same value.
The default definition is fmap . const, but this may be
overridden with a more efficient version.
|
|
|
A variant of <*> with the arguments reversed.
|
|
|
Lift a function to actions.
This function may be used as a value for fmap in a Functor instance.
|
|
|
Lift a binary function to actions.
|
|
|
Lift a ternary function to actions.
|
|
|
One or none.
|
|
Produced by Haddock version 2.6.0 |