-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Interpretation functions and simple instruction sets for operational -- -- Please see README.md @package operational-extra @version 0.3 module Control.Monad.Operational.Console data ConsoleI content a GetI :: ConsoleI content content PutI :: content -> ConsoleI content () get :: ProgramT (ConsoleI content) m content put :: content -> ProgramT (ConsoleI content) m () interpretConsoleStringIO :: ConsoleI String a -> IO a interpretConsoleTextIO :: ConsoleI Text a -> IO a interpretConsoleLazyTextIO :: ConsoleI Text a -> IO a interpretConsoleByteStringIO :: ConsoleI ByteString a -> IO a interpretConsoleLazyByteStringIO :: ConsoleI ByteString a -> IO a module Control.Monad.Operational.Now data NowI a NowI :: NowI UTCTime interpretNow :: NowI a -> IO a interpretNowMoving :: UTCTime -> NominalDiffTime -> IO (NowI a -> IO a) interpretNowMoving' :: IORef UTCTime -> NominalDiffTime -> NowI a -> IO a interpretNowConstant :: Applicative m => UTCTime -> NowI a -> m a module Control.Monad.Operational.Exception data ExceptionI a ExceptionI :: SomeException -> ExceptionI a exception :: SomeException -> ProgramT ExceptionI m a exception' :: Exception e => e -> ProgramT ExceptionI m a toExceptionI :: Exception e => e -> ExceptionI a strExceptionI :: String -> ExceptionI a interpretExceptionIO :: ExceptionI a -> IO a data DescribedException DescribedException :: String -> DescribedException instance GHC.Show.Show Control.Monad.Operational.Exception.DescribedException instance GHC.Exception.Exception Control.Monad.Operational.Exception.DescribedException module Control.Monad.Operational.Wait data WaitI a WaitI :: Int -> WaitI () wait :: Int -> ProgramT WaitI m () interpretWaitIO :: WaitI a -> IO a interpretWaitIgnore :: Applicative m => WaitI a -> m a module Control.Monad.Operational.Interpret data Around m instr Around :: (forall a. instr a -> (m (), a -> m ())) -> Around m instr mapProgramT :: Monad m => (forall b. instr1 b -> instr2 b) -> ProgramT instr1 m a -> ProgramT instr2 m a hoistProgramT :: (Monad m, Monad n) => (forall a. m a -> n a) -> ProgramT instr m a -> ProgramT instr n a interpretWithMonadT :: Monad m => (forall a. instr a -> m a) -> ProgramT instr m b -> m b interpretAroundMonadT :: Monad m => (Around m instr) -> (forall a. instr a -> m a) -> ProgramT instr m b -> m b instance GHC.Base.Applicative m => GHC.Base.Monoid (Control.Monad.Operational.Interpret.Around m instr)