elm/compiler/SourceSyntax/Literal.hs

22 lines
546 B
Haskell
Raw Normal View History

{-# OPTIONS_GHC -Wall #-}
module SourceSyntax.Literal where
import SourceSyntax.PrettyPrint
import qualified Text.PrettyPrint as PP
data Literal = IntNum Int
| FloatNum Double
| Chr Char
| Str String
| Boolean Bool
deriving (Eq, Ord, Show)
instance Pretty Literal where
pretty literal =
case literal of
IntNum n -> PP.int n
FloatNum n -> PP.double n
2014-01-07 21:52:19 +00:00
Chr c -> PP.text . show $ c
Str s -> PP.text . show $ s
Boolean bool -> PP.text (show bool)