Safe Haskell | None |
---|---|
Language | GHC2021 |
Documentation
class Monad m => MonadInteractive (m :: Type -> Type) 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 #
type JudgeInternal (m :: k -> Type) a (r :: k) = Accepted m r -> Failed m r -> Running a m r -> Result m r Source #
newtype Judge (m :: k -> Type) a Source #
Judge | |
|
Instances
MonadTrans (Judge :: (Type -> Type) -> Type -> Type) Source # | |||||
Defined in Control.Monad.Interactive | |||||
Alternative (Judge m) Source # | |||||
Applicative (Judge m) Source # | |||||
Functor (Judge m) Source # | |||||
Monad (Judge m) Source # | |||||
MonadFail (Judge m) Source # | |||||
Defined in Control.Monad.Interactive | |||||
PrimMonad m => PrimMonad (Judge m) Source # | |||||
Defined in Control.Monad.Interactive
| |||||
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 #