ddc-core-0.4.3.1: DDC/Control/Panic.hs
module DDC.Control.Panic
(panic)
where
import DDC.Data.Pretty
-- | Print an error message and exit the compiler, ungracefully.
--
-- This function should be called when we end up in a state that is definately
-- due to a bug in the compiler.
--
panic :: String -- ^ Package name,
-> String -- ^ Function name.
-> Doc -- ^ Error message that makes some suggestion of what
-- caused the error.
-> a
panic pkg fun msg
= error $ renderIndent $ vcat
[ text "PANIC in" <+> text pkg <> text "." <> text fun
, indent 2 msg
, empty]