monadoid-0.0.1: A monoid for monads

Copyright(c) 2017 Athan Clark
LicenseBSD-3
Maintainerathan.clark@gmail.com
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageHaskell2010

Data.Monadoid

Description

 

Synopsis

Documentation

newtype Monadoid m a Source #

Constructors

Monadoid 

Fields

Instances

Monad m => Monad (Monadoid m) Source # 

Methods

(>>=) :: Monadoid m a -> (a -> Monadoid m b) -> Monadoid m b #

(>>) :: Monadoid m a -> Monadoid m b -> Monadoid m b #

return :: a -> Monadoid m a #

fail :: String -> Monadoid m a #

Functor m => Functor (Monadoid m) Source # 

Methods

fmap :: (a -> b) -> Monadoid m a -> Monadoid m b #

(<$) :: a -> Monadoid m b -> Monadoid m a #

Applicative m => Applicative (Monadoid m) Source # 

Methods

pure :: a -> Monadoid m a #

(<*>) :: Monadoid m (a -> b) -> Monadoid m a -> Monadoid m b #

(*>) :: Monadoid m a -> Monadoid m b -> Monadoid m b #

(<*) :: Monadoid m a -> Monadoid m b -> Monadoid m a #

Foldable m => Foldable (Monadoid m) Source # 

Methods

fold :: Monoid m => Monadoid m m -> m #

foldMap :: Monoid m => (a -> m) -> Monadoid m a -> m #

foldr :: (a -> b -> b) -> b -> Monadoid m a -> b #

foldr' :: (a -> b -> b) -> b -> Monadoid m a -> b #

foldl :: (b -> a -> b) -> b -> Monadoid m a -> b #

foldl' :: (b -> a -> b) -> b -> Monadoid m a -> b #

foldr1 :: (a -> a -> a) -> Monadoid m a -> a #

foldl1 :: (a -> a -> a) -> Monadoid m a -> a #

toList :: Monadoid m a -> [a] #

null :: Monadoid m a -> Bool #

length :: Monadoid m a -> Int #

elem :: Eq a => a -> Monadoid m a -> Bool #

maximum :: Ord a => Monadoid m a -> a #

minimum :: Ord a => Monadoid m a -> a #

sum :: Num a => Monadoid m a -> a #

product :: Num a => Monadoid m a -> a #

Traversable m => Traversable (Monadoid m) Source # 

Methods

traverse :: Applicative f => (a -> f b) -> Monadoid m a -> f (Monadoid m b) #

sequenceA :: Applicative f => Monadoid m (f a) -> f (Monadoid m a) #

mapM :: Monad m => (a -> m b) -> Monadoid m a -> m (Monadoid m b) #

sequence :: Monad m => Monadoid m (m a) -> m (Monadoid m a) #

Eq (m a) => Eq (Monadoid m a) Source # 

Methods

(==) :: Monadoid m a -> Monadoid m a -> Bool #

(/=) :: Monadoid m a -> Monadoid m a -> Bool #

(Data (m a), Typeable * a, Typeable (* -> *) m) => Data (Monadoid m a) Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Monadoid m a -> c (Monadoid m a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Monadoid m a) #

toConstr :: Monadoid m a -> Constr #

dataTypeOf :: Monadoid m a -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (Monadoid m a)) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Monadoid m a)) #

gmapT :: (forall b. Data b => b -> b) -> Monadoid m a -> Monadoid m a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Monadoid m a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Monadoid m a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Monadoid m a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Monadoid m a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Monadoid m a -> m (Monadoid m a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Monadoid m a -> m (Monadoid m a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Monadoid m a -> m (Monadoid m a) #

Ord (m a) => Ord (Monadoid m a) Source # 

Methods

compare :: Monadoid m a -> Monadoid m a -> Ordering #

(<) :: Monadoid m a -> Monadoid m a -> Bool #

(<=) :: Monadoid m a -> Monadoid m a -> Bool #

(>) :: Monadoid m a -> Monadoid m a -> Bool #

(>=) :: Monadoid m a -> Monadoid m a -> Bool #

max :: Monadoid m a -> Monadoid m a -> Monadoid m a #

min :: Monadoid m a -> Monadoid m a -> Monadoid m a #

Show (m a) => Show (Monadoid m a) Source # 

Methods

showsPrec :: Int -> Monadoid m a -> ShowS #

show :: Monadoid m a -> String #

showList :: [Monadoid m a] -> ShowS #

Generic (Monadoid m a) Source # 

Associated Types

type Rep (Monadoid m a) :: * -> * #

Methods

from :: Monadoid m a -> Rep (Monadoid m a) x #

to :: Rep (Monadoid m a) x -> Monadoid m a #

(Monad m, Monoid a) => Monoid (Monadoid m a) Source #

The only important instance

Methods

mempty :: Monadoid m a #

mappend :: Monadoid m a -> Monadoid m a -> Monadoid m a #

mconcat :: [Monadoid m a] -> Monadoid m a #

type Rep (Monadoid m a) Source # 
type Rep (Monadoid m a) = D1 (MetaData "Monadoid" "Data.Monadoid" "monadoid-0.0.1-CTJfhpy1OK6738gm6dh2KC" True) (C1 (MetaCons "Monadoid" PrefixI True) (S1 (MetaSel (Just Symbol "runMonadoid") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (m a))))