<div class="gmail_quote">On Sun, Mar 21, 2010 at 4:03 PM, Waldek Hebisch <span dir="ltr"><<a href="mailto:hebisch@math.uni.wroc.pl">hebisch@math.uni.wroc.pl</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Apparently optimize proclaims made before loading compiler<br>
are ignored:<br>
<br>
(proclaim '(optimize (speed 3) (safety 0)))<br>
(compile-file "call-spd.lisp")<br>
<br>
compiles "call-spd.lisp" at default safety.  This is old<br>
problem, still present in fresh git checkout.</blockquote><div><br></div><div>I do not think this is a "problem" by itself. It depends on your expectations.</div><div><br></div><div>The default image of ECL only contains a function, PROCLAIM, that does nothing. This is compatible with the specification and works just fine with the interpreted code, source files, etc. It is there because it may appear, but does not force the user to load the compiler.</div>
<div><br></div><div>When the compiler is loaded, it installs a new version of PROCLAIM that actually uses the information that this function provides. This function is more complete, but it can not exist without the compiler because there is no notion of compiler environment before the compiler itself is loaded.</div>
<div><br></div><div>Note that we can not force the compiler to be loaded by a mere use of PROCLAIM. That would prevent the Lisp interpreter from loading perfectly valid sources that use PROCLAIM but do not compile anything.</div>
<div><br></div><div>Juanjo</div></div><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://tream.dreamhosters.com">http://tream.dreamhosters.com</a><br>