[project @ 1999-03-24 18:19:08 by sof]
authorsof <unknown>
Wed, 24 Mar 1999 18:19:08 +0000 (18:19 +0000)
committersof <unknown>
Wed, 24 Mar 1999 18:19:08 +0000 (18:19 +0000)
tidied up the error handling defs.

ghc/compiler/utils/Outputable.lhs

index bd33b86..1ddb112 100644 (file)
@@ -340,8 +340,6 @@ pprQuotedList xs = hsep (punctuate comma (map (quotes . ppr) xs))
 \end{code}
 
 
-
-
 %************************************************************************
 %*                                                                     *
 \subsection{Printing numbers verbally}
@@ -386,22 +384,21 @@ speakNTimes t | t == 1       = ptext SLIT("once")
 
 \begin{code}
 pprPanic :: String -> SDoc -> a
-pprPanic heading pretty_msg = panic (show (doc PprDebug))
-                           where
-                             doc = text heading <+> pretty_msg
-
 pprError :: String -> SDoc -> a
-pprError heading pretty_msg = error (heading++ " " ++ (showSDoc pretty_msg))
-
 pprTrace :: String -> SDoc -> a -> a
-pprTrace heading pretty_msg = trace (show (doc PprDebug))
-                           where
-                             doc = text heading <+> pretty_msg
+pprPanic  = pprAndThen panic
+pprError  = pprAndThen error
+pprTrace  = pprAndThen trace
 
 pprPanic# heading pretty_msg = panic# (show (doc PprDebug))
                             where
                               doc = text heading <+> pretty_msg
 
+pprAndThen :: (String -> a) -> String -> SDoc -> a
+pprAndThen cont heading pretty_msg = cont (show (doc PprDebug))
+    where
+     doc = text heading <+> pretty_msg
+
 assertPprPanic :: String -> Int -> SDoc -> a
 assertPprPanic file line msg
   = panic (show (doc PprDebug))