-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | MonadProgram typeclass for the operational package -- @package operational-class @version 0.2.0.2 module Control.Monad.Operational.Class class Monad m => MonadProgram instr m | m -> instr wrap :: MonadProgram instr m => Program instr (m a) -> m a wrapT :: (m ~ t n, Monad m, MonadTrans t, MonadProgram instr n) => Program instr (m a) -> m a liftProgram :: MonadProgram instr m => Program instr a -> m a singleton :: MonadProgram instr m => instr a -> m a instance [safe] MonadProgram instr m => MonadProgram instr (ListT m) instance [safe] MonadProgram instr m => MonadProgram instr (IdentityT m) instance [safe] MonadProgram instr m => MonadProgram instr (MaybeT m) instance [safe] (MonadProgram instr m, Monoid w) => MonadProgram instr (RWST r w s m) instance [safe] (MonadProgram instr m, Monoid w) => MonadProgram instr (RWST r w s m) instance [safe] (MonadProgram instr m, Monoid w) => MonadProgram instr (WriterT w m) instance [safe] (MonadProgram instr m, Monoid w) => MonadProgram instr (WriterT w m) instance [safe] MonadProgram instr m => MonadProgram instr (ContT r m) instance [safe] MonadProgram instr m => MonadProgram instr (StateT s m) instance [safe] MonadProgram instr m => MonadProgram instr (StateT s m) instance [safe] MonadProgram instr m => MonadProgram instr (ReaderT e m) instance [safe] Monad m => MonadProgram instr (ProgramT instr m)