I'm sorry, the example I gave is fine -- that code of course is executed at compile-time only. On Sun, Apr 8, 2012 at 9:39 PM, Ilya Shlyakhter wrote: > Right now, the cl package itself seems to violate the rule against calling > its functions at runtime. > E.g. > > (define-compiler-macro assoc* (&whole form a list &rest keys) > ;; ... > (if (floatp-safe (cl-const-expr-val a)) > ;; ... > > floatp-safe is a function in package cl, and the compiled code will call > it at runtime. > Am I missing something? > > On Wed, Apr 4, 2012 at 9:06 AM, Stefan Monnier wrote: > >> > Agree about cl- being better than ecl- . >> > Btw, if remove-if becomes defalias'ed to cl-remove-if, aren't the two >> calls >> > indistinguishable to the byte compiler? >> >> The name is different, so the compiler can definitely tell the difference. >> >> > If they are, and calling cl-remove wouldn't trigger a warning, >> > wouldn't remove-if calls also become warning-less? >> >> Not necessarily, no. >> >> >> Stefan >> > >