(defun get-var (var env) (if (assoc var env) (second (assoc var env)) (get-global-var var))) (defun get-global-var (var) (get var 'scheme-global-value "unbound")) (defun set-var! (var value env) (if (assoc var env) (setf (second (assoc var env)) value) (set-global-var! var value)) value) (defun set-global-var! (var value) (setf (get var 'scheme-global-value) value))