module Literal(Literal(..)) where import Position import PPrint data Literal = LString String | LChar Char | LInt Integer | LInteger Integer | LBool Bool | LRational Rational | LNative String | LImpossible | LNoMatch Position deriving (Eq, Ord,Show) instance PPrint Literal where pPrint _ _ (LString s) = text (show s) pPrint _ _ (LChar s) = text (show s) pPrint _ _ (LInt s) = text (show s) pPrint _ _ (LInteger s) = text (show s) pPrint _ _ (LBool s) = text (show s) pPrint _ _ (LRational s) = text (show s) pPrint _ _ (LNative s) = text (show s) pPrint _ _ LImpossible = text "_impossible" pPrint _ _ (LNoMatch p) = text "_noMatch"