fakepull-0.3.0.2: Monad to pull from fake stream-like objects.

Safe HaskellNone
LanguageHaskell2010

Test.Pull.Fake.Pure

Documentation

newtype PullT payload m a Source #

Constructors

PullT 

Fields

Instances
(MonadReader r m, MonadWriter w m) => MonadRWS r w [payload] (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

MonadWriter w m => MonadWriter w (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

writer :: (a, w) -> PullT payload m a #

tell :: w -> PullT payload m () #

listen :: PullT payload m a -> PullT payload m (a, w) #

pass :: PullT payload m (a, w -> w) -> PullT payload m a #

MonadReader r m => MonadReader r (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

ask :: PullT payload m r #

local :: (r -> r) -> PullT payload m a -> PullT payload m a #

reader :: (r -> a) -> PullT payload m a #

MonadError e m => MonadError e (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

throwError :: e -> PullT payload m a #

catchError :: PullT payload m a -> (e -> PullT payload m a) -> PullT payload m a #

MonadTrans (PullT payload) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

lift :: Monad m => m a -> PullT payload m a #

Monad m => MonadState [payload] (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

get :: PullT payload m [payload] #

put :: [payload] -> PullT payload m () #

state :: ([payload] -> (a, [payload])) -> PullT payload m a #

Monad m => Monad (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

(>>=) :: PullT payload m a -> (a -> PullT payload m b) -> PullT payload m b #

(>>) :: PullT payload m a -> PullT payload m b -> PullT payload m b #

return :: a -> PullT payload m a #

fail :: String -> PullT payload m a #

Functor m => Functor (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

fmap :: (a -> b) -> PullT payload m a -> PullT payload m b #

(<$) :: a -> PullT payload m b -> PullT payload m a #

MonadFix m => MonadFix (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

mfix :: (a -> PullT payload m a) -> PullT payload m a #

MonadFail m => MonadFail (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

fail :: String -> PullT payload m a #

Monad m => Applicative (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

pure :: a -> PullT payload m a #

(<*>) :: PullT payload m (a -> b) -> PullT payload m a -> PullT payload m b #

liftA2 :: (a -> b -> c) -> PullT payload m a -> PullT payload m b -> PullT payload m c #

(*>) :: PullT payload m a -> PullT payload m b -> PullT payload m b #

(<*) :: PullT payload m a -> PullT payload m b -> PullT payload m a #

MonadIO m => MonadIO (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

liftIO :: IO a -> PullT payload m a #

MonadPlus m => Alternative (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

empty :: PullT payload m a #

(<|>) :: PullT payload m a -> PullT payload m a -> PullT payload m a #

some :: PullT payload m a -> PullT payload m [a] #

many :: PullT payload m a -> PullT payload m [a] #

MonadPlus m => MonadPlus (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

mzero :: PullT payload m a #

mplus :: PullT payload m a -> PullT payload m a -> PullT payload m a #

MonadThrow m => MonadThrow (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

throwM :: Exception e => e -> PullT payload m a #

MonadCatch m => MonadCatch (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

catch :: Exception e => PullT payload m a -> (e -> PullT payload m a) -> PullT payload m a #

MonadMask m => MonadMask (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

mask :: ((forall a. PullT payload m a -> PullT payload m a) -> PullT payload m b) -> PullT payload m b #

uninterruptibleMask :: ((forall a. PullT payload m a -> PullT payload m a) -> PullT payload m b) -> PullT payload m b #

generalBracket :: PullT payload m a -> (a -> ExitCase b -> PullT payload m c) -> (a -> PullT payload m b) -> PullT payload m (b, c) #

MonadCont m => MonadCont (PullT payload m) Source # 
Instance details

Defined in Test.Pull.Fake.Pure

Methods

callCC :: ((a -> PullT payload m b) -> PullT payload m a) -> PullT payload m a #

type PullM payload = PullT payload Identity Source #

type MonadPull payload = MonadState [payload] Source #

runPullT :: PullT payload m a -> [payload] -> m (a, [payload]) Source #

evalPullT :: Functor f => PullT payload f a -> [payload] -> f a Source #

execPullT :: Functor f => PullT payload f a -> [payload] -> f [payload] Source #

runPullM :: PullM payload a -> [payload] -> (a, [payload]) Source #

evalPullM :: PullM payload a -> [payload] -> a Source #

execPullM :: PullM payload a -> [payload] -> [payload] Source #

pull :: MonadPull payload m => m (Maybe payload) Source #