diff options
Diffstat (limited to 'src/eval.lisp')
| -rw-r--r-- | src/eval.lisp | 13 | 
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)) | 
