aboutsummaryrefslogtreecommitdiff
path: root/src/Evaluator.hs
diff options
context:
space:
mode:
authorAkshay <[email protected]>2020-10-14 15:05:12 +0100
committerAkshay <[email protected]>2020-10-14 15:05:12 +0100
commit14ad0667bf25351e522faa7d9fbb3ff31619d92e (patch)
tree651b5f03cb2c9bc232e3582b58a573622931da70 /src/Evaluator.hs
parent82a64ef64602227daefc3ff96908d6c1b2303b61 (diff)
add support for vectors
a
Diffstat (limited to 'src/Evaluator.hs')
-rw-r--r--src/Evaluator.hs9
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
18eval :: Expr -> LispResult Expr 18eval :: Expr -> LispResult Expr
19eval v@(StringLiteral s) = return v 19eval v@(StringLiteral s) = return v
20eval v@(IntLiteral i) = return v 20eval v@(IntLiteral i) = return v
21eval v@(BoolLiteral b) = return v 21eval v@(BoolLiteral b) = return v
22eval v@(FloatLiteral f) = return v 22eval v@(FloatLiteral f) = return v
23eval v@(Vector xs) = liftM Vector $ mapM eval xs
23-- handle quotes as literals 24-- handle quotes as literals
24eval (List[Id "quote", val]) = return val 25eval (List[Id "quote", val]) = return val
25eval (List[Id "quasiquote", val]) = undefined 26eval (List[Id "quasiquote", val]) = undefined