(aset v i x)
(incf i))))
+(defmacro awhen (condition &body body)
+ `(let ((it ,condition))
+ (when it ,@body)))
+
#+ecmalisp
(progn
(defun values-list (list)
(incf index)))))
',name)))
+
+;;; Environment
+
(def!struct binding
name
type
(code "v" (incf *variable-counter*)))
(defun translate-variable (symbol)
- (binding-value (lookup-in-lexenv symbol *environment* 'variable)))
+ (awhen (lookup-in-lexenv symbol *environment* 'variable)
+ (binding-value it)))
(defun extend-local-env (args)
(let ((new (copy-lexenv *environment*)))