Subject: Re: What is the best Open-Source Lisp?
From: rpw3@rpw3.org (Rob Warnock)
Date: Wed, 22 Feb 2006 03:31:14 -0600
Newsgroups: comp.lang.lisp
Message-ID: <78GdnZulStb_smHeRVn-qw@speakeasy.net>
Didier Verna  <didier@lrde.epita.fr> wrote:
+---------------
| rpw3@rpw3.org (Rob Warnock) wrote:
| >     cmu> (disassemble 'foo)
| >     58972CA8:       .ENTRY FOO()                 ; FUNCTION
| > 	  C0:       POP     DWORD PTR [EBP-8]
| > 	  C3:       LEA     ESP, [EBP-32]
| > 	  C6:       ADD     EDX, EDI             ; No-arg-parsing entry point
...
| 
| But one should be aware that CMUCL's compile-file will silently
| produce bytecode instead of native code by default, under particular
| settings for speed and debug (see also the :byte-compile argument).
+---------------

Doesn't the phrase "by default" here conflict with the phrase
"under particular settings for speed and debug"?  When will
CMUCL fail to produce native code with COMPILE-FILE when using
*completely* default settings? The only case I know of is top-level
forms *not* in a DEFUN[1] or DEFMETHOD. Do you know of others?


-Rob

[1] Yes, in the CMUCL REPL you can't[2] simply COMPILE DEFUNs that are
    inside a non-null lexical environment, but COMPILE-FILE works fine.

[2] And there's even a way around that! See my posting
    <URL:news:z-adnUcxXvR7clDenZ2dnUVZ_sCdnZ2d@speakeasy.net>
    and the associated thread, and the suggested COMPILE* macro.

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607