semigroupoids-5.3.7: Semigroupoids: Category sans id
Copyright (C) 2011-2015 Edward Kmett
License BSD-style (see the file LICENSE)
Maintainer Edward Kmett <ekmett@gmail.com>
Stability provisional
Portability portable
Safe Haskell Trustworthy
Language Haskell2010

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 .

Methods

zero :: f a Source #

Instances

Instances details
Plus [] Source #
Instance details

Defined in Data.Functor.Plus

Methods

zero :: [a] Source #

Plus Maybe Source #
Instance details

Defined in Data.Functor.Plus

Plus IO Source #
Instance details

Defined in Data.Functor.Plus

Plus Option Source #
Instance details

Defined in Data.Functor.Plus

Plus First Source #
Instance details

Defined in Data.Functor.Plus

Plus Last Source #
Instance details

Defined in Data.Functor.Plus

Plus IntMap Source #
Instance details

Defined in Data.Functor.Plus

Plus Seq Source #
Instance details

Defined in Data.Functor.Plus

Plus ( U1 :: Type -> Type ) Source #
Instance details

Defined in Data.Functor.Plus

MonadPlus m => Plus ( WrappedMonad m) Source #
Instance details

Defined in Data.Functor.Plus

Plus ( Proxy :: Type -> Type ) Source #
Instance details

Defined in Data.Functor.Plus

Ord k => Plus ( Map k) Source #
Instance details

Defined in Data.Functor.Plus

Plus f => Plus ( Lift f) Source #
Instance details

Defined in Data.Functor.Plus

( Functor f, Monad f) => Plus ( MaybeT f) Source #
Instance details

Defined in Data.Functor.Plus

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

Defined in Data.Functor.Plus

( Hashable k, Eq k) => Plus ( HashMap k) Source #
Instance details

Defined in Data.Functor.Plus

Alternative f => Plus ( WrappedApplicative f) Source #
Instance details

Defined in Data.Functor.Plus

Plus f => Plus ( Rec1 f) Source #
Instance details

Defined in Data.Functor.Plus

ArrowPlus a => Plus ( WrappedArrow a b) Source #
Instance details

Defined in Data.Functor.Plus

Plus f => Plus ( IdentityT f) Source #
Instance details

Defined in Data.Functor.Plus

Plus f => Plus ( Reverse f) Source #
Instance details

Defined in Data.Functor.Plus

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

Defined in Data.Functor.Plus

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

Defined in Data.Functor.Plus

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

Since: 5.3.6

Instance details

Defined in Data.Functor.Plus

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

Defined in Data.Functor.Plus

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

Defined in Data.Functor.Plus

Plus f => Plus ( ReaderT e f) Source #
Instance details

Defined in Data.Functor.Plus

( Functor f, Monad f, Semigroup e, Monoid e) => Plus ( ExceptT e f) Source #
Instance details

Defined in Data.Functor.Plus

( Functor f, Monad f, Error e) => Plus ( ErrorT e f) Source #
Instance details

Defined in Data.Functor.Plus

Plus f => Plus ( Backwards f) Source #
Instance details

Defined in Data.Functor.Plus

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

Defined in Data.Semigroupoid.Static

( Plus f, Plus g) => Plus (f :*: g) Source #
Instance details

Defined in Data.Functor.Plus

Methods

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

( Plus f, Plus g) => Plus ( Product f g) Source #
Instance details

Defined in Data.Functor.Plus

Plus f => Plus ( M1 i c f) Source #
Instance details

Defined in Data.Functor.Plus

Methods

zero :: M1 i c f a Source #

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

Defined in Data.Functor.Plus

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

Defined in Data.Functor.Plus

Methods

zero :: RWST r w s f a Source #

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

Defined in Data.Functor.Plus

Methods

zero :: RWST r w s f a Source #

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

Since: 5.3.6

Instance details

Defined in Data.Functor.Plus

Methods

zero :: RWST r w s f a Source #

psum :: ( Foldable t, Plus f) => t (f a) -> f a Source #

The sum of a collection of actions, generalizing concat .

>>> psum [Just "Hello", Nothing, Just "World"]
Just "Hello"

Since: 5.3.6