aboutsummaryrefslogtreecommitdiff
path: root/src/eval.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval.lisp')
-rw-r--r--src/eval.lisp13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/eval.lisp b/src/eval.lisp
index eede4ad..e3e6617 100644
--- a/src/eval.lisp
+++ b/src/eval.lisp
@@ -1,19 +1,10 @@
(in-package #:chains)
-(defun chainp (object)
- (and (consp object) (eq (first object) 'chain)))
-
-(defun chain-links (chain)
- (rest chain))
-
-(defun object-symbolp (object)
- (and (consp object) (eq (first object) 'symbol)))
-
(defun tree-eval (environment node)
(cond ((null node)
nil)
- ((object-symbolp node)
- (get-var environment (cdr node)))
+ ((object-symbol-p node)
+ (get-var environment (object-value node)))
((not (consp node))
node)
((chainp (first node))