Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
A reactive resumption monad transformer, based on the formulation in the article Cheap (But Functional) Threads by William L. Harrison and Adam Procter.
Synopsis
Documentation
newtype ReacT input output m a Source #
Reactive resumption monad transformer.
Instances
MFunctor (ReacT i o :: (Type -> Type) -> Type -> Type) Source # | |
MonadTrans (ReacT input output) Source # | |
Defined in Control.Monad.Resumption.Reactive | |
Monad m => Monad (ReacT input output m) Source # | |
Defined in Control.Monad.Resumption.Reactive | |
Monad m => Functor (ReacT input output m) Source # | |
Monad m => Applicative (ReacT input output m) Source # | |
Defined in Control.Monad.Resumption.Reactive pure :: a -> ReacT input output m a # (<*>) :: ReacT input output m (a -> b) -> ReacT input output m a -> ReacT input output m b # liftA2 :: (a -> b -> c) -> ReacT input output m a -> ReacT input output m b -> ReacT input output m c # (*>) :: ReacT input output m a -> ReacT input output m b -> ReacT input output m b # (<*) :: ReacT input output m a -> ReacT input output m b -> ReacT input output m a # | |
MonadIO m => MonadIO (ReacT input output m) Source # | |
Defined in Control.Monad.Resumption.Reactive |
signal :: Monad m => output -> ReacT input output m input Source #
Outputs its argument, then waits for the next input and returns it.