aboutsummaryrefslogtreecommitdiff
path: root/src/Parser.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Parser.hs')
-rw-r--r--src/Parser.hs8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/Parser.hs b/src/Parser.hs
index dfc3225..48dca0e 100644
--- a/src/Parser.hs
+++ b/src/Parser.hs
@@ -7,7 +7,7 @@ module Parser ( parseLispValue
7 , parseComment 7 , parseComment
8 ) where 8 ) where
9 9
10import Base (Expr (..), Function) 10import Base (Expr (..), LispNumber(..))
11import Control.Applicative ((<$>)) 11import Control.Applicative ((<$>))
12import Control.Monad (void) 12import Control.Monad (void)
13import Text.Parsec.Char 13import Text.Parsec.Char
@@ -34,7 +34,7 @@ parseInt :: Parser Expr
34parseInt = do 34parseInt = do
35 sign <- parseSign 35 sign <- parseSign
36 val <- many1 digit 36 val <- many1 digit
37 return $ (IntLiteral . read) $ maybe val (:val) sign 37 return $ (Number . I . read) $ maybe val (:val) sign
38 38
39parseFloat :: Parser Expr 39parseFloat :: Parser Expr
40parseFloat = do 40parseFloat = do
@@ -43,7 +43,7 @@ parseFloat = do
43 char '.' 43 char '.'
44 mantissa <- many1 digit 44 mantissa <- many1 digit
45 let fval = characteristic ++ "." ++ mantissa 45 let fval = characteristic ++ "." ++ mantissa
46 return $ (FloatLiteral . read) $ maybe fval (:fval) sign 46 return $ (Number . F . read) $ maybe fval (:fval) sign
47 47
48parseVector :: Parser Expr 48parseVector :: Parser Expr
49parseVector = do 49parseVector = do
@@ -112,6 +112,4 @@ parseLispValue =
112 optionalWhiteSpace >> char ')' 112 optionalWhiteSpace >> char ')'
113 return $ maybe (List x) (DottedList x) t 113 return $ maybe (List x) (DottedList x) t
114 <?> "lisp value"; 114 <?> "lisp value";
115 -- try parseComment;
116 -- return pepe;
117 115