[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue: EVAL-WHEN-NON-TOP-LEVEL (Version 5)
- To: cperdue@Sun.COM
- Subject: Re: Issue: EVAL-WHEN-NON-TOP-LEVEL (Version 5)
- From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Thu, 16 Feb 89 14:41 EST
- Cc: CL-Compiler@SAIL.Stanford.EDU, Moon@STONY-BROOK.SCRC.Symbolics.COM
- In-reply-to: <8902161928.AA16172@clam.sun.com>
Date: Thu, 16 Feb 89 11:28:43 PST
From: cperdue@Sun.COM (Cris Perdue)
... The question of whether you would want to postpone
the action of a defmacro to loadtime is a red herring.
A more useful question is whether a programmer might reasonably want
to postpone *some* action normally done at compiletime so
it is done only at loadtime (using EVAL-WHEN). ...
I agree it's a reasonable goal, but why are you predisposed to believe that
using EVAL-WHEN has to be the way to get it done? We've offered a way to
get that effect: make the form in question non-top-level, and then execute
it when you want to.
Really it's a tried-and-true solution -- the same solution we give people
who program using DEFUN-free `batch' scripts of SETQ's and function calls
when they eventually decide they want more control than just load-time
imperative execution of everything they write. ``Write a DEFUN,'' we tell
them. ``Put that in the file and then call the defined function whenever
you want the effect to happen. Either at LOAD time or later.'' Why not use
the same technique to solve this analogous problem?