-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Prettier error
--
-- Haskell port of Rust's unwrap and except
@package tehepero
@version 0
module Control.Panic
data Panic
Panic :: !CallStack -> !Doc AnsiStyle -> Panic
class PrettyEx a
prettyEx :: PrettyEx a => a -> Doc AnsiStyle
prettyExList :: PrettyEx a => [a] -> Doc AnsiStyle
-- | Throw an error with a pretty-printable message.
panic :: (MonadThrow m, HasCallStack) => Doc AnsiStyle -> m a
-- | Try to obtain the result of a Fallible value. If panics
-- it fails.
unwrap :: (Fallible f, PrettyEx (Failure f), MonadThrow m, HasCallStack) => f a -> m a
-- | Prepend a message if it fails to obtain the result.
expect :: (Fallible f, PrettyEx (Failure f), MonadThrow m, HasCallStack) => Doc AnsiStyle -> f a -> m a
-- | Add an exception handler for Panic with prettifed output.
withPanic :: IO a -> IO a
instance GHC.Show.Show Control.Panic.Panic
instance (a GHC.Types.~ Data.Text.Prettyprint.Doc.Render.Terminal.Internal.AnsiStyle) => Control.Panic.PrettyEx (Data.Text.Prettyprint.Doc.Internal.Doc a)
instance Control.Panic.PrettyEx ()
instance Control.Panic.PrettyEx GHC.Types.Char
instance Control.Panic.PrettyEx a => Control.Panic.PrettyEx [a]
instance Control.Panic.PrettyEx GHC.Stack.Types.CallStack
instance Control.Panic.PrettyEx GHC.Stack.Types.SrcLoc
instance Control.Panic.PrettyEx Control.Panic.Panic
instance GHC.Exception.Type.Exception Control.Panic.Panic