2 import Text.ParserCombinators.Parsec hiding (spaces)
3 import System.Environment
5 data LispVal = Atom String
7 | DottedList [LispVal] LispVal
13 symbol = oneOf "!#$%&|*+-/:<=>?@^_~"
16 spaces = skipMany space
18 readExpr :: String -> String
19 readExpr input = case parse (spaces >> symbol) "lisp" input of
20 Left err -> "No match: " ++ show err
21 Right val -> "Found value"
26 putStrLn (readExpr args)