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
Documentation
Instances
Plus First # | |
Defined in Data.Functor.Plus | |
Plus Last # | |
Defined in Data.Functor.Plus | |
Plus IntMap # | |
Defined in Data.Functor.Plus | |
Plus Seq # | |
Defined in Data.Functor.Plus | |
Plus IO # | |
Defined in Data.Functor.Plus | |
Plus Maybe # | |
Defined in Data.Functor.Plus | |
Plus List # | |
Defined in Data.Functor.Plus | |
MonadPlus m => Plus (WrappedMonad m) # | |
Defined in Data.Functor.Plus | |
Plus (Proxy :: Type -> Type) # | |
Defined in Data.Functor.Plus | |
Plus (U1 :: Type -> Type) # | |
Defined in Data.Functor.Plus | |
Ord k => Plus (Map k) # | |
Defined in Data.Functor.Plus | |
Alternative f => Plus (WrappedApplicative f) # | |
Defined in Data.Functor.Plus Methods zero :: WrappedApplicative f a # | |
Plus f => Plus (Lift f) # | |
Defined in Data.Functor.Plus | |
(Functor f, Monad f) => Plus (MaybeT f) # | |
Defined in Data.Functor.Plus | |
(Hashable k, Eq k) => Plus (HashMap k) # | |
Defined in Data.Functor.Plus | |
ArrowPlus a => Plus (WrappedArrow a b) # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (Rec1 f) # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (Static f a) # | |
Defined in Data.Semigroupoid.Static | |
Plus f => Plus (Backwards f) # | |
Defined in Data.Functor.Plus | |
(Functor f, Monad f, Semigroup e, Monoid e) => Plus (ExceptT e f) # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (IdentityT f) # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (ReaderT e f) # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (StateT e f) # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (StateT e f) # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (WriterT w f) # | Since: 5.3.6 |
Defined in Data.Functor.Plus | |
Plus f => Plus (WriterT w f) # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (WriterT w f) # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (Reverse f) # | |
Defined in Data.Functor.Plus | |
(Plus f, Plus g) => Plus (Product f g) # | |
Defined in Data.Functor.Plus | |
(Plus f, Plus g) => Plus (f :*: g) # | |
Defined in Data.Functor.Plus | |
Monoid c => Plus (K1 i c :: Type -> Type) # | Since: 5.3.8 |
Defined in Data.Functor.Plus | |
(Plus f, Functor g) => Plus (Compose f g) # | |
Defined in Data.Functor.Plus | |
(Plus f, Functor g) => Plus (f :.: g) # | Since: 5.3.8 |
Defined in Data.Functor.Plus | |
Plus f => Plus (M1 i c f) # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (RWST r w s f) # | Since: 5.3.6 |
Defined in Data.Functor.Plus | |
Plus f => Plus (RWST r w s f) # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (RWST r w s f) # | |
Defined in Data.Functor.Plus |
psum :: (Foldable t, Plus f) => t (f a) -> f a #
The sum of a collection of actions, generalizing concat
.
>>>
psum [Just "Hello", Nothing, Just "World"]
Just "Hello"
Since: 5.3.6
gzero :: (Plus (Rep1 f), Generic1 f) => f a #
Generic zero
. Caveats:
- Will not compile if
f
is a sum type. - Any types where the
a
does not appear must have aMonoid
instance.
Since: 5.3.8
module Data.Functor.Alt