[alexandria-devel] XCVB patch for Alexandria

Faré fahree at gmail.com
Sat Oct 10 14:16:39 UTC 2009


2009/10/9 Attila Lendvai <attila.lendvai at gmail.com>:
>>> Here's what I need to get Alexandria to compile under XCVB.
>
> if there's no objection against this patch, i'll eventually apply it.
>
> although, i myself have some questions:
>
> why is this eval-when needed? extract-function-name is not used
> anywhere in that file...
>
>
> +(eval-when (:compile-toplevel :load-toplevel :execute)
>  (defun extract-function-name (spec)
>   "Useful for macros that want to mimic the functional interface for functions
>  like #'eq and 'eq."
> @@ -30,6 +33,7 @@
>                                 , at forms))))
>                       clauses)
>             (t ,default)))))
> +) ;; end EVAL-WHEN
>
>
> or does xcvb need everything to be also eval-when'd at
> :compile-toplevel which is used at compile time (e.g. in a macro body)
> in any other file that depends on it? that sounds like a strong
> requirement, especially if it's the default... not something that one
> can not live with, but something substantially different than asdf.
>
It is a strong requirement, and it is indeed the default, and this
requirement is compatible with the CLHS 3.2.2.3. Yes it is
substantially different than ASDF. Note however that if this irks you
a lot you can disable the CFASL functionality.

http://common-lisp.net/project/xcvb/doc/README.html#compile-time-side-effects

> wouldn't it be nicer to do it using :compile-depends-on? if i'm not
> way off, that is...
>
You can also do that.

But if a function is used by macros, you'll save a lot by doing the
right thing, i.e. putting that function in an EVAL-WHEN.

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
Factum, non dictum, amicus quaerit




More information about the alexandria-devel mailing list