Agda-2.5.3: A dependently typed functional programming language and proof assistant

Safe HaskellNone
LanguageHaskell2010

Agda.TypeChecking.Monad.Debug

Synopsis

Documentation

class (Functor m, Applicative m, Monad m) => MonadDebug m where #

Minimal complete definition

formatDebugMessage

Methods

displayDebugMessage :: Int -> String -> m () #

traceDebugMessage :: Int -> String -> m a -> m a #

formatDebugMessage :: VerboseKey -> Int -> TCM Doc -> m String #

Instances

MonadDebug TerM # 
MonadDebug m => MonadDebug (MaybeT m) # 
MonadDebug m => MonadDebug (ListT m) # 
MonadIO m => MonadDebug (TCMT m) # 
MonadDebug m => MonadDebug (ExceptT e m) # 
MonadDebug m => MonadDebug (StateT s m) # 
(MonadDebug m, Monoid w) => MonadDebug (WriterT w m) # 
MonadDebug m => MonadDebug (ReaderT * r m) # 

reportS :: (HasOptions m, MonadDebug m) => VerboseKey -> Int -> String -> m () #

Conditionally print debug string.

reportSLn :: (HasOptions m, MonadDebug m) => VerboseKey -> Int -> String -> m () #

Conditionally println debug string.

reportSDoc :: (HasOptions m, MonadDebug m) => VerboseKey -> Int -> TCM Doc -> m () #

Conditionally render debug Doc and print it.

traceSLn :: (HasOptions m, MonadDebug m) => VerboseKey -> Int -> String -> m a -> m a #

traceSDoc :: (HasOptions m, MonadDebug m) => VerboseKey -> Int -> TCM Doc -> m a -> m a #

Conditionally render debug Doc, print it, and then continue.

verboseBracket :: (HasOptions m, MonadDebug m, MonadError err m) => VerboseKey -> Int -> String -> m a -> m a #

Print brackets around debug messages issued by a computation.