interspersed-0.1.2: An abstraction over interspersing monadic actions

Safe HaskellNone
LanguageHaskell2010

Interspersed

Synopsis

Documentation

data Interspersed m a Source #

An abstraction over interspersing monadic actions.

Instances

MonadTrans Interspersed Source # 

Methods

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

Monad m => Monad (Interspersed m) Source # 

Methods

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

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

return :: a -> Interspersed m a #

fail :: String -> Interspersed m a #

Functor m => Functor (Interspersed m) Source # 

Methods

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

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

Monad m => Applicative (Interspersed m) Source # 

Methods

pure :: a -> Interspersed m a #

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

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

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

MonadPlus m => Alternative (Interspersed m) Source # 

Methods

empty :: Interspersed m a #

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

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

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

MonadPlus m => MonadPlus (Interspersed m) Source # 

Methods

mzero :: Interspersed m a #

mplus :: Interspersed m a -> Interspersed m a -> Interspersed m a #

runInterspersed :: Monad m => Interspersed m a -> m () -> m a Source #

interspersed :: Monad m => m a -> Interspersed m a Source #

Lifts a monadic action. Same as lift.