On 5/20/11 May 20 -3:11 PM, Ernst van Waning wrote:
Dear Robert,
However, I have one question: what is the reason that these output translations are apparently not applied to the .asd files? The way I understand my output-translations, I have globally specified that all fasls are in an implementation-specific directory just below my source files. For me, .asd files are just source files, so why not place them where the other fasls are written?
Not sure I fully understand. As you say, the .asd files are just source files, and they are never compiled, so there is no need to do any output translations for them.
I may not have fully followed the question....
concerning the .asd files, I use cl path/to/..asd in the REPL and both sbcl and acl try to find fasls for them. If there is no corresponding fasl, they write one.
At present, I do an explicit (load #P"path/to/system.asd") to prevent Lisp from writing fasls. So, the question comes from a habit developed over the years: why aren't defsystem files trated the same way as source files, i.e., treated according to what is specified in asdf-output-translations.conf?
Hopefully this explains a bit of the backgrond of my question.
Ah, yes, I *almost* think I get it.
If you do an explicit (load #P"path/to/system.asd") isn't that a request to CL to load the source and *not* compile the .asd file?
In general, one should not compile .asd files at all. They should be loaded as source files, typically as a side-effect of asdf:load-system...
When I do (load "obtw.asd") in my obtw directory, ACL just loads the .asd file; it does not generate and store a fasl.
So I'm still not /quite/ sure I see the issue.
best, r