monadoid-0.0.2: 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

MonadTrans Monadoid Source # 

Methods

lift :: Monad m => m a -> Monadoid m a #

MonadTransControl Monadoid Source # 

Associated Types

type StT (Monadoid :: (* -> *) -> * -> *) a :: * #

Methods

liftWith :: Monad m => (Run Monadoid -> m a) -> Monadoid m a #

restoreT :: Monad m => m (StT Monadoid a) -> Monadoid m a #

MonadRWS r w s m => MonadRWS r w s (Monadoid m) Source # 
MonadBase b m => MonadBase b (Monadoid m) Source # 

Methods

liftBase :: b α -> Monadoid m α #

MonadError e m => MonadError e (Monadoid m) Source # 

Methods

throwError :: e -> Monadoid m a #

catchError :: Monadoid m a -> (e -> Monadoid m a) -> Monadoid m a #

MonadReader r m => MonadReader r (Monadoid m) Source # 

Methods

ask :: Monadoid m r #

local :: (r -> r) -> Monadoid m a -> Monadoid m a #

reader :: (r -> a) -> Monadoid m a #

MonadState s m => MonadState s (Monadoid m) Source # 

Methods

get :: Monadoid m s #

put :: s -> Monadoid m () #

state :: (s -> (a, s)) -> Monadoid m a #

MonadWriter w m => MonadWriter w (Monadoid m) Source # 

Methods

writer :: (a, w) -> Monadoid m a #

tell :: w -> Monadoid m () #

listen :: Monadoid m a -> Monadoid m (a, w) #

pass :: Monadoid m (a, w -> w) -> Monadoid m a #

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) #

MonadIO m => MonadIO (Monadoid m) Source # 

Methods

liftIO :: IO a -> Monadoid m a #

MonadCont m => MonadCont (Monadoid m) Source # 

Methods

callCC :: ((a -> Monadoid m b) -> Monadoid m a) -> 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 StT Monadoid a Source # 
type StT Monadoid a = a
type Rep (Monadoid m a) Source # 
type Rep (Monadoid m a) = D1 (MetaData "Monadoid" "Data.Monadoid" "monadoid-0.0.2-FXtk1FfUa212mbcaIkgvUH" True) (C1 (MetaCons "Monadoid" PrefixI True) (S1 (MetaSel (Just Symbol "runMonadoid") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (m a))))