haskell-exp-parser-0.1.1: tests/ParseExp.hs
module ParseExp where
import Data.Either
import Language.Haskell.TH
import Language.Haskell.ParseExp
parse :: String -> ExpQ
parse str = return $ case parseExp str of
Right exp -> exp
Left msg -> error msg
exp1 = parse "\"sdf\""
exp2 = parse "sum [1,2,3]"
exp3 = parse "min (max (negate (-34)) 888) (signum (-45))"
exp4 = parse " min ( max ( negate ( - 34 ) ) 888 ) ( signum ( - 45 ) ) "
exp5 = parse "[(1,'a'),(2,'b'),(3,'c')]"