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
class Alt f => Plus (f :: Type -> Type) where Source #
Instances
Plus First Source # | |
Defined in Data.Functor.Plus | |
Plus Last Source # | |
Defined in Data.Functor.Plus | |
Plus IntMap Source # | |
Defined in Data.Functor.Plus | |
Plus Seq Source # | |
Defined in Data.Functor.Plus | |
Plus IO Source # | |
Defined in Data.Functor.Plus | |
Plus Maybe Source # | |
Defined in Data.Functor.Plus | |
Plus [] Source # | |
Defined in Data.Functor.Plus | |
MonadPlus m => Plus (WrappedMonad m) Source # | |
Defined in Data.Functor.Plus | |
Plus (Proxy :: Type -> Type) Source # | |
Defined in Data.Functor.Plus | |
Plus (U1 :: Type -> Type) Source # | |
Defined in Data.Functor.Plus | |
Ord k => Plus (Map k) Source # | |
Defined in Data.Functor.Plus | |
Alternative f => Plus (WrappedApplicative f) Source # | |
Defined in Data.Functor.Plus Methods zero :: WrappedApplicative f a Source # | |
Plus f => Plus (Lift f) Source # | |
Defined in Data.Functor.Plus | |
(Functor f, Monad f) => Plus (MaybeT f) Source # | |
Defined in Data.Functor.Plus | |
(Hashable k, Eq k) => Plus (HashMap k) Source # | |
Defined in Data.Functor.Plus | |
ArrowPlus a => Plus (WrappedArrow a b) Source # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (Rec1 f) Source # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (Static f a) Source # | |
Defined in Data.Semigroupoid.Static | |
Plus f => Plus (Backwards f) Source # | |
Defined in Data.Functor.Plus | |
(Functor f, Monad f, Semigroup e, Monoid e) => Plus (ExceptT e f) Source # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (IdentityT f) Source # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (ReaderT e f) Source # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (StateT e f) Source # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (StateT e f) Source # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (WriterT w f) Source # | Since: 5.3.6 |
Defined in Data.Functor.Plus | |
Plus f => Plus (WriterT w f) Source # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (WriterT w f) Source # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (Reverse f) Source # | |
Defined in Data.Functor.Plus | |
(Plus f, Plus g) => Plus (Product f g) Source # | |
Defined in Data.Functor.Plus | |
(Plus f, Plus g) => Plus (f :*: g) Source # | |
Defined in Data.Functor.Plus | |
Monoid c => Plus (K1 i c :: Type -> Type) Source # | Since: 5.3.8 |
Defined in Data.Functor.Plus | |
(Plus f, Functor g) => Plus (Compose f g) Source # | |
Defined in Data.Functor.Plus | |
(Plus f, Functor g) => Plus (f :.: g) Source # | Since: 5.3.8 |
Defined in Data.Functor.Plus | |
Plus f => Plus (M1 i c f) Source # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (RWST r w s f) Source # | Since: 5.3.6 |
Defined in Data.Functor.Plus | |
Plus f => Plus (RWST r w s f) Source # | |
Defined in Data.Functor.Plus | |
Plus f => Plus (RWST r w s f) Source # | |
Defined in Data.Functor.Plus |
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
gzero :: (Plus (Rep1 f), Generic1 f) => f a Source #
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