diff options
author | Akshay <[email protected]> | 2020-10-14 15:05:12 +0100 |
---|---|---|
committer | Akshay <[email protected]> | 2020-10-14 15:05:12 +0100 |
commit | 14ad0667bf25351e522faa7d9fbb3ff31619d92e (patch) | |
tree | 651b5f03cb2c9bc232e3582b58a573622931da70 /src/Evaluator.hs | |
parent | 82a64ef64602227daefc3ff96908d6c1b2303b61 (diff) |
add support for vectors
a
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 |