Juanjo wrote:
There is a rationale for the splitting of asdf.lisp.
...
- In the meantime asdf.lisp may be automatically created and distributed
together with the rest. This imposes no maintenance burden and it can be actually used to ensure that asdf.lisp is only created with new releases, leaving the other files and directories for daring users / maintainers.
Excellent point, and one which I believe renders the discussion moot. This is a powerful technique for creating bootstrap systems.
- In splitting and reorganizing the code several modules have been found
that are actually _not_ used. Windows shortcuts for instance.
I worked hard to get those in there (they had been written and unused years before I found them). They worked shortly before the ASDF2 redesign, and I had hoped they survived it intact. IMO, this is a critical feature that should not be removed. Scanning hundreds of directories for *.asd is not a fast operation (yes, I have 100+ CL libs on my boxes). Putting all those directories in a search path is not easy -- without using symlinks or shortcuts, at which point you might as well simply link the asd files themselves... No need to reinvent the wheel, when every major OS provides an idiomatic solution.
While I do not use MS-broken-windows regularly, rumor has it that most people do. If symlinks are supported on POSIX (usually through TRUENAME), then we should try to support shortcuts on MS.
ASDF has a very liberal view of loading performance. A mechanism for caching system definitions may help; but the uncached performance should not be ignored. I hate starting clisp and waiting a minute or two for it to go looking for (require :something).
- Daniel