aboutsummaryrefslogtreecommitdiff
path: root/evaluator/evaluator.go
diff options
context:
space:
mode:
Diffstat (limited to 'evaluator/evaluator.go')
-rw-r--r--evaluator/evaluator.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/evaluator/evaluator.go b/evaluator/evaluator.go
index a6b21cc..6ea4b01 100644
--- a/evaluator/evaluator.go
+++ b/evaluator/evaluator.go
@@ -82,6 +82,9 @@ func Eval(node ast.Node, env *object.Environment) object.Object {
return &object.Function{Parameters: params, Env: env, Body: body}
case *ast.CallExpression:
+ if node.Function.TokenLiteral() == "quote" {
+ return quote(node.Arguments[0], env)
+ }
function := Eval(node.Function, env)
if isError(function) {
return function