Comment 12 for bug 1500578

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

Yes, but that doesn't solve the problem. Assume I have a defsystem that is in package FOO.

Now I DEFSYSTEM-DEPEND-ON some ASDF extension. This extension is implemented in its own namespace, as it should be to avoid namespace collision, ASDF-EXT. Now what? I can't get its exported symbols into package FOO, which has already been created by the defpackage form at the top of my .asd file. I SHOULDN'T jam those exported symbols into the ASDF package, because that's namespace pollution, and I can't protect against naming conflicts.

So the strings don't help, unless you mean that I can arbitrarily put package prefixes into them.

That would help, but now we have to guess every place the programmer might want to stick a string instead of a symbol (inside a :METHOD)? At this point you really have to have a code-walker that looks for strings everywhere, and knows where a string is a string -- for example when it's a pathname or the name of a component -- and not a thing that should be interpreted as a lazily-referenced symbol.

Once you have gone that far, you might as well give up using READ to process the DEFSYSTEM forms and just write your own parser.

Or toss DEFSYSTEM-DEPENDS-ON into the ashheap of history and just put ASDF:LOAD-SYSTEM forms in your .asd files....