semigroupoids-5.2.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 #

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 #

Instances

Plus [] # 

Methods

zero :: [a] #

Plus Maybe # 

Methods

zero :: Maybe a #

Plus IO # 

Methods

zero :: IO a #

Plus U1 # 

Methods

zero :: U1 a #

Plus Option # 

Methods

zero :: Option a #

Plus IntMap # 

Methods

zero :: IntMap a #

Plus Seq # 

Methods

zero :: Seq a #

Plus f => Plus (Rec1 f) # 

Methods

zero :: Rec1 f a #

MonadPlus m => Plus (WrappedMonad m) # 

Methods

zero :: WrappedMonad m a #

Plus (Proxy *) # 

Methods

zero :: Proxy * a #

Ord k => Plus (Map k) # 

Methods

zero :: Map k a #

Plus f => Plus (Lift f) # 

Methods

zero :: Lift f a #

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

Methods

zero :: MaybeT f a #

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

Methods

zero :: ListT f a #

Alternative f => Plus (WrappedApplicative f) # 

Methods

zero :: WrappedApplicative f a #

(Plus f, Plus g) => Plus ((:*:) f g) # 

Methods

zero :: (f :*: g) a #

ArrowPlus a => Plus (WrappedArrow a b) # 

Methods

zero :: WrappedArrow a b a #

Plus f => Plus (IdentityT * f) # 

Methods

zero :: IdentityT * f a #

Plus f => Plus (Reverse * f) # 

Methods

zero :: Reverse * f a #

Plus f => Plus (Backwards * f) # 

Methods

zero :: Backwards * f a #

Plus f => Plus (WriterT w f) # 

Methods

zero :: WriterT w f a #

Plus f => Plus (WriterT w f) # 

Methods

zero :: WriterT w f a #

Plus f => Plus (StateT e f) # 

Methods

zero :: StateT e f a #

Plus f => Plus (StateT e f) # 

Methods

zero :: StateT e f a #

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

Methods

zero :: ExceptT e f a #

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

Methods

zero :: ErrorT e f a #

Plus f => Plus (Static f a) # 

Methods

zero :: Static f a a #

Plus f => Plus (M1 i c f) # 

Methods

zero :: M1 i c f a #

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

Methods

zero :: Product * f g a #

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

Methods

zero :: ReaderT * e f a #

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

Methods

zero :: Compose * * f g a #

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

Methods

zero :: RWST r w s f a #

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

Methods

zero :: RWST r w s f a #