monadoid-0.0.3: A monoid for monads

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

Data.Monadoid

Description

 

Documentation

newtype Monadoid m a Source #

Constructors

Monadoid 

Fields

Instances
MonadTrans Monadoid Source # 
Instance details

Defined in Data.Monadoid

Methods

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

MonadTransControl Monadoid Source # 
Instance details

Defined in Data.Monadoid

Associated Types

type StT Monadoid a :: Type #

Methods

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

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

(MonadReader r m, MonadWriter w m, MonadState s m) => MonadRWS r w s (Monadoid m) Source # 
Instance details

Defined in Data.Monadoid

MonadBase b m => MonadBase b (Monadoid m) Source # 
Instance details

Defined in Data.Monadoid

Methods

liftBase :: b α -> Monadoid m α #

(MonadBase b m, MonadBaseControl b m) => MonadBaseControl b (Monadoid m) Source # 
Instance details

Defined in Data.Monadoid

Associated Types

type StM (Monadoid m) a :: Type #

Methods

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

restoreM :: StM (Monadoid m) a -> Monadoid m a #

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

Defined in Data.Monadoid

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 #

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

Defined in Data.Monadoid

Methods

get :: Monadoid m s #

put :: s -> Monadoid m () #

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

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

Defined in Data.Monadoid

Methods

ask :: Monadoid m r #

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

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

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

Defined in Data.Monadoid

Methods

throwError :: e -> Monadoid m a #

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

Monad m => Monad (Monadoid m) Source # 
Instance details

Defined in Data.Monadoid

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 # 
Instance details

Defined in Data.Monadoid

Methods

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

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

Applicative m => Applicative (Monadoid m) Source # 
Instance details

Defined in Data.Monadoid

Methods

pure :: a -> Monadoid m a #

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

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

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

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

Foldable m => Foldable (Monadoid m) Source # 
Instance details

Defined in Data.Monadoid

Methods

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

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

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 # 
Instance details

Defined in Data.Monadoid

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 m0 => (a -> m0 b) -> Monadoid m a -> m0 (Monadoid m b) #

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

MonadIO m => MonadIO (Monadoid m) Source # 
Instance details

Defined in Data.Monadoid

Methods

liftIO :: IO a -> Monadoid m a #

MonadCont m => MonadCont (Monadoid m) Source # 
Instance details

Defined in Data.Monadoid

Methods

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

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

Defined in Data.Monadoid

Methods

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

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

(Typeable m, Typeable a, Data (m a)) => Data (Monadoid m a) Source # 
Instance details

Defined in Data.Monadoid

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 m0 => (forall d. Data d => d -> m0 d) -> Monadoid m a -> m0 (Monadoid m a) #

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

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

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

Defined in Data.Monadoid

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 # 
Instance details

Defined in Data.Monadoid

Methods

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

show :: Monadoid m a -> String #

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

Generic (Monadoid m a) Source # 
Instance details

Defined in Data.Monadoid

Associated Types

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

Methods

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

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

(Applicative m, Semigroup a) => Semigroup (Monadoid m a) Source # 
Instance details

Defined in Data.Monadoid

Methods

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

sconcat :: NonEmpty (Monadoid m a) -> Monadoid m a #

stimes :: Integral b => b -> Monadoid m a -> Monadoid m a #

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

The only important instance

Instance details

Defined in Data.Monadoid

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 # 
Instance details

Defined in Data.Monadoid

type StT Monadoid a = a
type StM (Monadoid m) a Source # 
Instance details

Defined in Data.Monadoid

type StM (Monadoid m) a = StM m a
type Rep (Monadoid m a) Source # 
Instance details

Defined in Data.Monadoid

type Rep (Monadoid m a) = D1 (MetaData "Monadoid" "Data.Monadoid" "monadoid-0.0.3-FPS0ApWwhwm4amQgjcnWYY" True) (C1 (MetaCons "Monadoid" PrefixI True) (S1 (MetaSel (Just "runMonadoid") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (m a))))