[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Making a lambda-expr more like a fn



While reading the messages about turning lambda expressions
into functions, it seemed to me that the following might be reasonable...

(defmacro with-environment ((var) &body body &environment env)
    `(let ((,var ',env))
       ,@body))

In an artificial example..

(let ((x 0))
	(with-environment (env)
	   	(setf counter-fn
										(enclose '(lambda () (incf x)) env))))

However...

? (let ((x 'non-nil-environment))
    (declare (ignore x))
    (with-environment (var) var))
#<BOGUS object @ #x5DF871>
?

Does this work in any Lisp?
Should it?

--Ray Pelletier