[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: #, read macro
- To: Sandra J Loosemore <sandra@cs.utah.EDU>
- Subject: Re: #, read macro
- From: jbarnett@gremlin.nrtc.northrop.COM
- Date: Mon, 20 Jun 88 12:22:53 -0700
- Cc: common-lisp@sail.stanford.EDU, cl-compiler@sail.stanford.EDU, jbarnett@gremlin.nrtc.northrop.COM
- In-reply-to: Your message of Sun, 19 Jun 88 18:15:25 -0600. <8806200015.AA01138@cs.utah.edu>
One use of this construct is to simulate ALGOL-like OWN variables; to wit:
(defun foo (arg ... &aux (var '#,<complex expression>))
body that references var...)
where the <complex expression> is computed in terms of previously defined
defvars, defuns, etc., and you don't want to create yet another only-used-in
one-place special variable, e.g.,
(defvar *foos-own* <complex expression>)
(defun foo (args ...)
body that reference *foos-own* insteadof var...)
By the way, there's not much use to trying to clean up the use of #, until
you do a better job of defining EVAL-WHEN (or whatever you call it now).
If you do that properly, not only will #, be easy to understand, implement, and
use, but I'd guess that several natural and useful extentions will occur.
Jeff