diff options
Diffstat (limited to 'src/Evaluator.hs')
-rw-r--r-- | src/Evaluator.hs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/Evaluator.hs b/src/Evaluator.hs index b0171ba..8a5274f 100644 --- a/src/Evaluator.hs +++ b/src/Evaluator.hs | |||
@@ -16,10 +16,11 @@ apply fn args = maybe | |||
16 | (lookup fn primitives) | 16 | (lookup fn primitives) |
17 | 17 | ||
18 | eval :: Expr -> LispResult Expr | 18 | eval :: Expr -> LispResult Expr |
19 | eval v@(StringLiteral s) = return v | 19 | eval v@(StringLiteral s) = return v |
20 | eval v@(IntLiteral i) = return v | 20 | eval v@(IntLiteral i) = return v |
21 | eval v@(BoolLiteral b) = return v | 21 | eval v@(BoolLiteral b) = return v |
22 | eval v@(FloatLiteral f) = return v | 22 | eval v@(FloatLiteral f) = return v |
23 | eval v@(Vector xs) = liftM Vector $ mapM eval xs | ||
23 | -- handle quotes as literals | 24 | -- handle quotes as literals |
24 | eval (List[Id "quote", val]) = return val | 25 | eval (List[Id "quote", val]) = return val |
25 | eval (List[Id "quasiquote", val]) = undefined | 26 | eval (List[Id "quasiquote", val]) = undefined |