On 9/9/11 Sep 9 -4:11 PM, Juan Jose Garcia-Ripoll wrote:
On Fri, Sep 9, 2011 at 9:55 PM, Robert Goldman <rpgoldman@sift.info mailto:rpgoldman@sift.info> wrote:
OK. But why do you need to do (member :foo *features*) instead of #+foo ? That was the original question.
Simple: because the user may switch compilers at run time at any time he/she wishes. This is quite typical in Windows, where the bytecodes compiler is active by default because many people do not have a C compiler in their PC.
Using #+ hardcodes the behavior in ASDF. This would be short-sighted: the same ASDF library can handle multiple compilers without needing to re-load it again.
That is what I had suspected.
Question: any objection to modifying your patch so that we have something like:
#+ecl (defun use-ecl-byte-compiler-p () (member :ecl-bytecomp *features*)) #-ecl (defun use-ecl-byte-compiler-p () nil)
and then call the function in place of the member query in other code?
If so, lmk, and we can push this.
cheers, r