I was considering merging POIU into ASDF, or at least part of it: https://gitlab.common-lisp.net/qitab/poiu
The part that I am really interested in merging is the plan that completely and correctly models the action graph based on an explicit graph (duh). This would be a prelude to allowing more meaningful queries on the build plan, but also hopefully to allowing better support for operate-in-operate as necessary for defsystem-depends-on and such.
I just split poiu into multiple files, and added some docstrings, to get an idea of which part takes how much. These implement the aforementioned action graph (wc output), where queue would go to uiop (it could be stripped down a bit), and action-graph in asdf (with some more commenting needed): 123 591 4609 queue.lisp 186 764 8360 action-graph.lisp
The parallelizing implementation (currently only for allegro, clisp, clozure, sbcl and only on unix) is this big (the first two files would go to uiop; the last part is the asdf-specific code and needs more commenting): 219 977 8972 fork.lisp 180 714 8362 background-process.lisp 145 533 6714 poiu.lisp
This would have been a lot in the times of ASDF1 when ASDF was < 1000 loc (and then, the original POIU was even larger, for it needed to patch ASDF that was lacking suitable interfaces). But it's not that much now that ASDF is >12.5kloc. We've grown a lot, yet much slower than Moore's Law.
So, should I import the first part of POIU? All of it? Is there anything bad about compiling in a fork, when available?
Actually, I'm thinking the forking part should probably be left in an extension, since it won't be used in SLIME anyway, because SLIME uses threads, which invalidates the forking ability of POIU.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Any sufficiently advanced misquotation is indistinguishable from an original statement. — John McCarthy, misquoted