tehepero-0: Prettier error
Safe HaskellSafe
LanguageHaskell2010

Control.Panic

Synopsis

Documentation

data Panic Source #

Constructors

Panic !CallStack !(Doc AnsiStyle) 

Instances

Instances details
Show Panic Source # 
Instance details

Defined in Control.Panic

Methods

showsPrec :: Int -> Panic -> ShowS #

show :: Panic -> String #

showList :: [Panic] -> ShowS #

Exception Panic Source # 
Instance details

Defined in Control.Panic

PrettyEx Panic Source # 
Instance details

Defined in Control.Panic

Methods

prettyEx :: Panic -> Doc AnsiStyle Source #

prettyExList :: [Panic] -> Doc AnsiStyle Source #

class PrettyEx a where Source #

Minimal complete definition

prettyEx

Methods

prettyEx :: a -> Doc AnsiStyle Source #

prettyExList :: [a] -> Doc AnsiStyle Source #

Instances

Instances details
PrettyEx Char Source # 
Instance details

Defined in Control.Panic

Methods

prettyEx :: Char -> Doc AnsiStyle Source #

prettyExList :: [Char] -> Doc AnsiStyle Source #

PrettyEx CallStack Source # 
Instance details

Defined in Control.Panic

Methods

prettyEx :: CallStack -> Doc AnsiStyle Source #

prettyExList :: [CallStack] -> Doc AnsiStyle Source #

PrettyEx () Source # 
Instance details

Defined in Control.Panic

Methods

prettyEx :: () -> Doc AnsiStyle Source #

prettyExList :: [()] -> Doc AnsiStyle Source #

PrettyEx SrcLoc Source # 
Instance details

Defined in Control.Panic

Methods

prettyEx :: SrcLoc -> Doc AnsiStyle Source #

prettyExList :: [SrcLoc] -> Doc AnsiStyle Source #

PrettyEx Panic Source # 
Instance details

Defined in Control.Panic

Methods

prettyEx :: Panic -> Doc AnsiStyle Source #

prettyExList :: [Panic] -> Doc AnsiStyle Source #

PrettyEx a => PrettyEx [a] Source # 
Instance details

Defined in Control.Panic

Methods

prettyEx :: [a] -> Doc AnsiStyle Source #

prettyExList :: [[a]] -> Doc AnsiStyle Source #

a ~ AnsiStyle => PrettyEx (Doc a) Source # 
Instance details

Defined in Control.Panic

Methods

prettyEx :: Doc a -> Doc AnsiStyle Source #

prettyExList :: [Doc a] -> Doc AnsiStyle Source #

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 panics 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.

withPanic :: IO a -> IO a Source #

Add an exception handler for Panic with prettifed output.