From: Daniel H. <dhe...@te...> - 2010-10-10 06:23:59
|
Sorry to join the party late. On Thu, 30 Sep 2010, Robert Goldman wrote: > On 9/30/10 Sep 30 -4:09 PM, Nikodemus Siivola wrote: >> In SBCL, for example, --script implies both --no-userinit and >> --no-sysinit (among other things). The intention is to make things >> less dependent on user specific configurations. >> >> However, being able to find installed libraries is probably not such a >> configuration issue. > > I don't necessarily agree. It's easy for me to imagine a script that > wants absolute control of what systems are going to be loaded. E.g., a > script that's distributed with a fixed set of libraries. And such a script should not rely on sbcl being invoked with --script in the first place. It should use a trick similar to Zach's as listed earlier. (asdf:initialize-source-registry '(:source-registry :ignore-inherited-configuration)) >> However, that said, I wonder how to make sure that ASDF configuration >> in general is consistent: consider for example a user who normally >> disables output-translations in initfiles. Since --script disables >> those initfiles, any ASDF systems used by them will use .cache -- >> presumably even if there were perfectly good fasl-files in the source >> directory already. > > Ouch. That suggests that what seemed like a sensible default case for > interactive programmers might be really bad for use with --script. > > Unnecessary recompilation seems the least of our worries. Another > possibility would be inappropriately crushing the user's existing fasls > with fasls compiled under a different, --script-imposed configuration. Yet another reason a build system should facilitate fasl-only (no sources present) loading. No chance of inappropriate recompilation. Though presumably a script using the above trick could also set all the other asdf parameters as appropriate. - Daniel |