On 20 May 2011 18:14, Ernst van Waning evw@infometrics.nl wrote:
Always having loaded systems the way I described, I have never encountered a problem, adding immediately that I go to the directory where the software is that I want to work on, after perhaps having loaded some systems I regularly use in the same manner. Working with compiled .asd files never gave me a problem.
Well, most asdf files are simple enough and you could load them without problems.
Other ASDF files do ugly stuff, and in a IMNSHO vain attempt to protect users from stray symbols, etc., ASDF creates a new temporary package in which it loads the .asd files. Some people may or may not depend on it. I suppose I could break the assumption and see whether Xach comes to my house with an axe for breaking Quicklisp once more — or some user of a proprietary application I haven't heard of. I'd rather not do it without Xach being in the loop.
If it were me, I'd just LOAD the damn file from either ASDF, CL-USER, or a new ASDF-USER package. Or better yet, I'd make it a data file in a well-defined DSL, rather than a full-fledged CL file. That's what XCVB does. Meh. Backward compatibility trumps all.
Can you give a reason for not compiling .asd files?
Historical reasons: .asd files are meant to only contain simple stuff, and historically, compiling is slow (ASDF was written ten years ago on SBCL).
What are the advantages of accessing .asd files only by means of asdf:find-system?
So that a proper package be defined, some magic be performed to prevent infinite recursion in corner cases (see recent bug reported by Nikodemus), and some error handling may happen.
I surely must have configured something very wrongly, here it takes a very long time and chances are the system I am after will not be found...
It may help to describe your configuration. Which implementation on which OS, which version of ASDF, and what do you have in your configuration?
Sorry for insisting, but can you tell me why exactly, i.e., the advantages of (asdf:find-system <system.) and the disadvantages of mine?
See the function load-sysdef, which explains the difference.
Regards,
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Backwards compatible — If it's not backwards it's not compatible — Greg Newton gregnewton@netscape.net