Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Documentation
class Monad m => MonadInteractive m where Source #
sendStr :: String -> m () Source #
send :: Show a => a -> m () Source #
Instances
MonadIO m => MonadInteractive (ReaderT InteractiveHandle m) Source # | |
Defined in Control.Monad.Interactive |
data InteractiveHandle Source #
Instances
MonadIO m => MonadInteractive (ReaderT InteractiveHandle m) Source # | |
Defined in Control.Monad.Interactive |
withInteractiveHandle :: ReaderT InteractiveHandle IO a -> IO a Source #
sendDebugFormat :: String -> String Source #
recvDebugFormat :: String -> String Source #
Judge | |
|
Instances
MonadTrans (Judge :: (Type -> Type) -> Type -> Type) Source # | |
Defined in Control.Monad.Interactive | |
MonadFail (Judge m) Source # | |
Defined in Control.Monad.Interactive | |
Alternative (Judge m) Source # | |
Applicative (Judge m) Source # | |
Functor (Judge m) Source # | |
Monad (Judge m) Source # | |
PrimMonad m => PrimMonad (Judge m) Source # | |
type PrimState (Judge m) Source # | |
Defined in Control.Monad.Interactive type PrimState (Judge m) = PrimState m |
type Interactive a = Judge (ReaderT InteractiveHandle IO) a Source #
interactive :: (forall r. JudgeInternal (ReaderT InteractiveHandle IO) a r) -> Interactive a Source #
runInteractive_ :: Interactive a -> ReaderT InteractiveHandle IO () Source #
withInteractive :: Interactive a -> IO () Source #