hat-2.7.0.0: compiler98/Error.hs
module Error where
import Data.List
import System.IO
import System.Exit
exit :: IO a
exit = exitWith (ExitFailure 1)
can'tOpen :: String -> a -> IO b
can'tOpen filename ioError =
do
hPutStr stderr ("Can't open "++filename ++ "\n")
exit
errorStr :: String -> String -> String
errorStr filename msg = "In file "++filename++":\n"++msg ++ "\n"
can'tOpenStr :: String -> [String] -> a -> String
can'tOpenStr name [filename] ioerror =
"Can't open "++ filename ++ " when trying to read "++name++".\n"
can'tOpenStr name filename ioerror =
"Can't open any of:\n "++ concatMap (++"\n ") (nub filename)
++ "when trying to read "++name++".\n"
errorMsg :: String -> String -> IO a
errorMsg filename msg =
do
hPutStr stderr (errorStr filename msg)
exit
can'tOpenAnyOf :: String -> [String] -> a -> IO b
can'tOpenAnyOf name filename ioError =
do
hPutStr stderr (can'tOpenStr name filename ioError)
exit
errorLC :: Int -> Int -> String -> a
errorLC l c msg =
error ("Error at line "++show l ++", column " ++ show c ++ ": " ++ msg++"\n")