semigroupoids-5.1: Semigroupoids: Category sans id

Copyright(C) 2011-2015 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

Data.Functor.Plus

Description

 

Synopsis

Documentation

class Alt f => Plus f where Source #

Laws:

zero <!> m = m
m <!> zero = m

If extended to an Alternative then zero should equal empty.

Minimal complete definition

zero

Methods

zero :: f a Source #

Instances

Plus [] Source # 

Methods

zero :: [a] Source #

Plus Maybe Source # 

Methods

zero :: Maybe a Source #

Plus IO Source # 

Methods

zero :: IO a Source #

Plus Option Source # 

Methods

zero :: Option a Source #

Plus Seq Source # 

Methods

zero :: Seq a Source #

Plus IntMap Source # 

Methods

zero :: IntMap a Source #

MonadPlus m => Plus (WrappedMonad m) Source # 

Methods

zero :: WrappedMonad m a Source #

Ord k => Plus (Map k) Source # 

Methods

zero :: Map k a Source #

Plus f => Plus (Lift f) Source # 

Methods

zero :: Lift f a Source #

(Bind f, Monad f) => Plus (MaybeT f) Source # 

Methods

zero :: MaybeT f a Source #

(Apply f, Applicative f) => Plus (ListT f) Source # 

Methods

zero :: ListT f a Source #

Alternative f => Plus (WrappedApplicative f) Source # 
ArrowPlus a => Plus (WrappedArrow a b) Source # 

Methods

zero :: WrappedArrow a b a Source #

Plus f => Plus (IdentityT * f) Source # 

Methods

zero :: IdentityT * f a Source #

Plus f => Plus (Reverse * f) Source # 

Methods

zero :: Reverse * f a Source #

Plus f => Plus (Backwards * f) Source # 

Methods

zero :: Backwards * f a Source #

Plus f => Plus (WriterT w f) Source # 

Methods

zero :: WriterT w f a Source #

Plus f => Plus (WriterT w f) Source # 

Methods

zero :: WriterT w f a Source #

Plus f => Plus (StateT e f) Source # 

Methods

zero :: StateT e f a Source #

Plus f => Plus (StateT e f) Source # 

Methods

zero :: StateT e f a Source #

(Bind f, Monad f, Error e) => Plus (ErrorT e f) Source # 

Methods

zero :: ErrorT e f a Source #

(Bind f, Monad f, Semigroup e, Monoid e) => Plus (ExceptT e f) Source # 

Methods

zero :: ExceptT e f a Source #

Plus f => Plus (Static f a) Source # 

Methods

zero :: Static f a a Source #

(Plus f, Plus g) => Plus (Product * f g) Source # 

Methods

zero :: Product * f g a Source #

Plus f => Plus (ReaderT * e f) Source # 

Methods

zero :: ReaderT * e f a Source #

(Plus f, Functor g) => Plus (Compose * * f g) Source # 

Methods

zero :: Compose * * f g a Source #

Plus f => Plus (RWST r w s f) Source # 

Methods

zero :: RWST r w s f a Source #

Plus f => Plus (RWST r w s f) Source # 

Methods

zero :: RWST r w s f a Source #