[Openmcl-devel] tail calls in 1.3 IDE?

Gail Zacharias gz at clozure.com
Fri Aug 14 08:46:14 PDT 2009

At 8/14/2009 11:08 AM, Arthur W Cater wrote:
>Content-type: multipart/alternative;
>         boundary="Boundary_(ID_0UkYuEqijkC4Dw1hfQPtmg)"
>Content-language: en
> > Someone checked in some code in some EasyGUI source file at some point
> > that does something like:
> >
> > (declaim (optimize (safety 3) (debug 3) ...))
> >
> > They presumably intended to wrap that in an (EVAL-WHEN (:COMPILE-
> > TOPLEVEL) ...
> >
>I'm that somebody, and again I apologise.
>However, I suspect that wrapping in eval-when as suggested will 
>still affect files subsequently
>compiled in the same session, at least. Maybe my mental model is 
>wrong, but ...  I think
>eval-when controls the time of evaluation but not the scope of any 
>consequential changes.
>So, if a file with that declaration is compiled, the optimizations 
>are set at compile time, and
>persist afterward.  Which if true would mean that unfortunately you 
>always have to explicitly reset the optimization settings to their 
>defaults unless you intend these knock-on effects.

You'd probably need to do that for universally portable code, but in 
CCL at least, an eval-when is sufficient to contain the effects to 
the file being compiled.

>Openmcl-devel mailing list
>Openmcl-devel at clozure.com

More information about the Openmcl-devel mailing list