On Sun, Mar 21, 2010 at 12:41 PM, Tobias C. Rittweiler <tcr@freebits.de> wrote:
There, however, seems to be an inherent dependency-vs-pureness problem
with user extensions as illustrated by cffi-grovel; from [1]:

 ;;; CFFI-Grovel is needed for processing grovel-file components
 (cl:eval-when (:load-toplevel :execute)
   (asdf:operate 'asdf:load-op 'cffi-grovel))

 (asdf:defsystem example-software
   :depends-on (cffi)
   :serial t
   :components
   ((:file "package")
    (cffi-grovel:grovel-file "example-grovelling")
    (:file "example")))

I know Stelian cursed about this in-persona, wishing for a reader which
has a notion of unresolved-symbols.

This can be cured with my suggestions plus some extensions I note below

- Add a field :asdf-support to list dependencies for the system itself.
- Add a feature by which component types are registered with ASDF so that they can be named using keywords
- Impose that parsing of the defsystem list is done _after_ loading the support components themselves.

Juanjo

--
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://tream.dreamhosters.com