Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
This module defines the MonoidApplicative
and MonoidAlternative
type classes. Their methods are specialized
forms of the standard Applicative
and Alternative
class methods. Instances of these classes should override the
default method implementations with more efficient ones.
Documentation
class Applicative f => MonoidApplicative f where Source
Nothing
(+<*>) :: f (a -> a) -> f a -> f a infixl 4 Source
A variant of the Applicative's <*>
operator specialized for endomorphic functions.
(><) :: Monoid a => f a -> f a -> f a infixl 5 Source
Lifted and potentially optimized monoid mappend
operation from the parameter type.
Monoid s => MonoidApplicative (Parser t s) Source | The |
class (Alternative f, MonoidApplicative f) => MonoidAlternative f where Source
Nothing
moptional :: Monoid a => f a -> f a Source
Like optional
, but restricted to Monoid
results.
concatMany :: Monoid a => f a -> f a Source
Zero or more argument occurrences like many
, but concatenated.
concatSome :: Monoid a => f a -> f a Source
One or more argument occurrences like some
, but concatenated.
(Alternative (Parser t s), Monoid s) => MonoidAlternative (Parser t s) Source |