@@ -62,8 +62,12 @@ handleError (Left err) =
6262 let errPos = errorPos err'
6363 errLine = sourceLine errPos
6464 errColumn = sourceColumn errPos
65− theline = (lines input ++ [""]) !! (errLine - 1)
66− in error $ "\nError at " ++ show err' ++ "\n" ++
67− theline ++ "\n" ++ replicate (errColumn - 1) ' ' ++
68− "^"
65+ ls = lines input ++ [""]
66+ errorInFile = if length ls > errLine - 1
67+ then concat ["\n", (ls !! (errLine - 1))
68+ ,"\n", replicate (errColumn - 1) ' '
69+ ,"^"]
70+ else ""
71+ in error $ "\nError at " ++ show err'
72+ ++ errorInFile
6973