Add reportError and reportWarning to TH
authorSimon Peyton Jones <simonpj@microsoft.com>
Mon, 16 Jul 2012 16:44:49 +0000 (17:44 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Mon, 16 Jul 2012 16:44:49 +0000 (17:44 +0100)
...and deprecate plain 'report', which takes a Boolean flag whose
sense is hard to remember.

Thanks to Reiner Pope.

Language/Haskell/TH/Syntax.hs

index 7c871e8..63421d1 100644 (file)
@@ -185,6 +185,15 @@ newName s = Q (qNewName s)
 -- but carry on; use 'fail' to stop.
 report  :: Bool -> String -> Q ()
 report b s = Q (qReport b s)
+{-# DEPRECATED report "Use reportError or reportWarning instead" #-}
+
+-- | Report an error to the user, but allow the current splice's computation to carry on. To abort the computation, use 'fail'.
+reportError :: String -> Q ()
+reportError = report True
+
+-- | Report a warning to the user, and carry on.
+reportWarning :: String -> Q ()
+reportWarning = report False
 
 -- | Recover from errors raised by 'reportError' or 'fail'.
 recover :: Q a -- ^ handler to invoke on failure