Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Control.Panic
Synopsis
- data Panic = Panic !CallStack !(Doc AnsiStyle)
- class PrettyEx a where
- prettyEx :: a -> Doc AnsiStyle
- prettyExList :: [a] -> Doc AnsiStyle
- panic :: (MonadThrow m, HasCallStack) => Doc AnsiStyle -> m a
- unwrap :: (Fallible f, PrettyEx (Failure f), MonadThrow m, HasCallStack) => f a -> m a
- expect :: (Fallible f, PrettyEx (Failure f), MonadThrow m, HasCallStack) => Doc AnsiStyle -> f a -> m a
- withPanic :: IO a -> IO a
Documentation
Instances
Show Panic Source # | |
Exception Panic Source # | |
Defined in Control.Panic Methods toException :: Panic -> SomeException # fromException :: SomeException -> Maybe Panic # displayException :: Panic -> String # | |
PrettyEx Panic Source # | |
Defined in Control.Panic |
class PrettyEx a where Source #
Minimal complete definition
Instances
PrettyEx Char Source # | |
Defined in Control.Panic | |
PrettyEx CallStack Source # | |
Defined in Control.Panic | |
PrettyEx () Source # | |
Defined in Control.Panic | |
PrettyEx SrcLoc Source # | |
Defined in Control.Panic | |
PrettyEx Panic Source # | |
Defined in Control.Panic | |
PrettyEx a => PrettyEx [a] Source # | |
Defined in Control.Panic | |
a ~ AnsiStyle => PrettyEx (Doc a) Source # | |
Defined in Control.Panic |
panic :: (MonadThrow m, HasCallStack) => Doc AnsiStyle -> m a Source #
Throw an error with a pretty-printable message.
unwrap :: (Fallible f, PrettyEx (Failure f), MonadThrow m, HasCallStack) => f a -> m a Source #
Try to obtain the result of a Fallible
value. If panic
s it fails.
expect :: (Fallible f, PrettyEx (Failure f), MonadThrow m, HasCallStack) => Doc AnsiStyle -> f a -> m a Source #
Prepend a message if it fails to obtain the result.