monadacme-0.1.0.0: The Acme and AcmeT monads

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Acme

Description

 
Synopsis

Documentation

newtype Acme a Source #

Carefully crafted by experts for years, Acme Corporation presents the Acme monad!

Constructors

Acme 

Fields

Instances
Monad Acme Source # 
Instance details

Defined in Control.Monad.Acme

Methods

(>>=) :: Acme a -> (a -> Acme b) -> Acme b #

(>>) :: Acme a -> Acme b -> Acme b #

return :: a -> Acme a #

fail :: String -> Acme a #

Functor Acme Source # 
Instance details

Defined in Control.Monad.Acme

Methods

fmap :: (a -> b) -> Acme a -> Acme b #

(<$) :: a -> Acme b -> Acme a #

MonadFix Acme Source # 
Instance details

Defined in Control.Monad.Acme

Methods

mfix :: (a -> Acme a) -> Acme a #

MonadFail Acme Source # 
Instance details

Defined in Control.Monad.Acme

Methods

fail :: String -> Acme a #

Applicative Acme Source # 
Instance details

Defined in Control.Monad.Acme

Methods

pure :: a -> Acme a #

(<*>) :: Acme (a -> b) -> Acme a -> Acme b #

liftA2 :: (a -> b -> c) -> Acme a -> Acme b -> Acme c #

(*>) :: Acme a -> Acme b -> Acme b #

(<*) :: Acme a -> Acme b -> Acme a #

Foldable Acme Source # 
Instance details

Defined in Control.Monad.Acme

Methods

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

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

foldr :: (a -> b -> b) -> b -> Acme a -> b #

foldr' :: (a -> b -> b) -> b -> Acme a -> b #

foldl :: (b -> a -> b) -> b -> Acme a -> b #

foldl' :: (b -> a -> b) -> b -> Acme a -> b #

foldr1 :: (a -> a -> a) -> Acme a -> a #

foldl1 :: (a -> a -> a) -> Acme a -> a #

toList :: Acme a -> [a] #

null :: Acme a -> Bool #

length :: Acme a -> Int #

elem :: Eq a => a -> Acme a -> Bool #

maximum :: Ord a => Acme a -> a #

minimum :: Ord a => Acme a -> a #

sum :: Num a => Acme a -> a #

product :: Num a => Acme a -> a #

Traversable Acme Source # 
Instance details

Defined in Control.Monad.Acme

Methods

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

sequenceA :: Applicative f => Acme (f a) -> f (Acme a) #

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

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

newtype AcmeT m a Source #

This hightly advanced piece of technology came out of Amce Corporation's top secret labs.

Now ready after years of anticipation, the AcmeT monad transformer is beloved by all.

Constructors

AcmeT 

Fields

Instances
MonadTrans AcmeT Source # 
Instance details

Defined in Control.Monad.Acme

Methods

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

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

Defined in Control.Monad.Acme

Methods

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

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

return :: a -> AcmeT m a #

fail :: String -> AcmeT m a #

Functor m => Functor (AcmeT m) Source # 
Instance details

Defined in Control.Monad.Acme

Methods

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

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

Monad m => MonadFail (AcmeT m) Source # 
Instance details

Defined in Control.Monad.Acme

Methods

fail :: String -> AcmeT m a #

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

Defined in Control.Monad.Acme

Methods

pure :: a -> AcmeT m a #

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

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

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

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

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

Defined in Control.Monad.Acme

Methods

liftIO :: IO a -> AcmeT m a #

Alternative m => Alternative (AcmeT m) Source # 
Instance details

Defined in Control.Monad.Acme

Methods

empty :: AcmeT m a #

(<|>) :: AcmeT m a -> AcmeT m a -> AcmeT m a #

some :: AcmeT m a -> AcmeT m [a] #

many :: AcmeT m a -> AcmeT m [a] #

MonadPlus m => MonadPlus (AcmeT m) Source # 
Instance details

Defined in Control.Monad.Acme

Methods

mzero :: AcmeT m a #

mplus :: AcmeT m a -> AcmeT m a -> AcmeT m a #