@@ -30,10 +30,12 @@ data SourcePos = SourcePos
30 -- Column number
30 -- Column number
32 , sourcePosColumn :: Int
32 , sourcePosColumn :: Int
33− } deriving (Eq, D.Data, D.Typeable)
33+ } deriving (Eq, Show, D.Data, D.Typeable)
35−instance Show SourcePos where
35+displaySourcePos :: SourcePos -> String
37+ "line " ++ show (sourcePosLine sp) ++
36− show sp = "line " ++ show (sourcePosLine sp) ++ ", column " ++ show (sourcePosColumn sp)
38+ ", column " ++ show (sourcePosColumn sp)
38data SourceSpan = SourceSpan
40data SourceSpan = SourceSpan
@@ -47,7 +49,10 @@ data SourceSpan = SourceSpan
47 -- End of the span
49 -- End of the span
49 , spanEnd :: SourcePos
51 , spanEnd :: SourcePos
50− } deriving (Eq, D.Data, D.Typeable)
52+ } deriving (Eq, Show, D.Data, D.Typeable)
52−instance Show SourceSpan where
54+displaySourceSpan :: SourceSpan -> String
53− show sp = spanName sp ++ " " ++ show (spanStart sp) ++ " - " ++ show (spanEnd sp)
55+displaySourceSpan sp =
56+ spanName sp ++ " " ++
57+ displaySourcePos (spanStart sp) ++ " - " ++
58+ displaySourcePos (spanEnd sp)