Ernst van Waning evw@infometrics.nl writes:
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.
.asd files should not be loaded directly with cl:load or any shortcut that involves cl:load, like cl path/to/whatever.asd. ASDF sets up an environment when loading an .asd file that is not the same as the environment established by cl:load.
The only way (with which I'm familiar) to properly load an .asd file is via asdf:find-system.
Zach