thanks for the hard work on this issue. I believe it will be frutiful. Unfortunately I am quite overloaded with work myself and I am missing this and other email exchanges -- to be sincere I have arrived to it in the wrong order: Pascal's blog post, then Zach's and then this email. This now seems to explain the weird chain of reaction I noted this morning
I initially though that "sort the libraries by dependencies" will be just
topological sorting, but it turned out to be not sufficiently illustrative.
The most fruitful systems to fix are those which:
- fails by themselves, i.e. don't have failing dependencies
- have many other systems depending on the given system
- in particular, these depending systems have the given system
as the only failed dependency (I call this blocked-exclusively)
The result is a beautiful explanation of what is going on, indeed. I now read the table and I see the blocking libraries and understand Pascal's response to it. It is a pity that my response times and my confusion are inversely proportional to each other.
For example, closer-mop fails to load on ECL, and there are
123 other ASDF systems (related to 59 projects), which depend
on closer-mop and closer-mop is the only failing dependency
for them (in my terms, closer-mop block them exclusively).
Wow, I did not expect closer-mop to be such a must for so many libraries, otherwise I would have provided a set of patches together with the changes in ECL. It would have helped solve the bad publicity it is getting right now.
> Again, that should be programatically easy to do, given ASDF's tree
> of dependencies (or quicklisp's for that matter).
Note, there is no way (or at least non trivial) to extract the dependency
information 100% precise. ASDF systems are just lisp code,
sometimes they contain reader conditionals, sometimes
asdf:load-op invocations, instead of just putting the systems
into :depends-on or :defsystem-depend-on. But the information
we can gather is enough to make useful observations. I retrieve
the dependency information from
quicklisp\\dists\\quicklisp\\systems.txt index file.
Understood. This is indeed one of the big problems I pointed out some time ago and which nobody cares to solve.
Thanks again for the great work. I hope I can correspond by fixing ECL's problems ASA my sleep deprivation is cured.