Hi Gábor, On Fri, 10 Jan 2020 at 13:42, Gábor Boskovits <boskov...@gmail.com> wrote:
> > The modules graph (DAG) is already available. :-) > > The main problem here is that the modules do not form a DAG. > There are circular dependencies between the modules. > If those were not, then modular build would be possible, but because of > the spaghetti we are forced to build these together. Maybe we have a naming problem. :-) I agree that it is not an Acyclic graph and if I understand you correctly it is because there are cycles that the mess starts. Using the Directed properties (but not required in fact, whatever :-), traversing the graph detects the cycle. It is more or less what it is done in the function `guix/import/utils.scm (topological-sort)`. So knowing where the cycles are could help to transform the DaG (not fully acyclic yet) to a DAG. :-) All the best, simon