Problem: Circular dependencies not a solved problem
clacke opened this issue · 1 comments
With fractalide/fractalide#281 , fractalide now has graph
as a dependency, and graph
depends on racket-doc
and its big circular family of dependencies. It seems to be working for fractalide itself, but when I depend on fractalide I get a whole slew of these:
WARNING: This derivation should not have been depended on.
Any derivation depending on this one should have depended on one of these instead:
racket-doc
graph
is a monolithic package, there's no graph-lib
without the racket-doc
dependency that one could depend on instead.
Solution: The real solution, which I have been kicking down the road, is that instead of hoping that everyone happen to encounter the circle through the same "top" package, all the packages in the circle become aliases of the same derivation.
The real real solution is ripping out the ad-hoc, imperative tree traversal and replace it with probably a datalog ruleset and a relatively simple query.