ASDF dependency graph or complexity score

Jay jeronwunalu at gmail.com
Fri Jan 10 01:29:23 UTC 2020


Updated:
Fare,

Sorry for late reply. Just got back from travels.

Thanks for the update. I did try to look for the updated README but didn't
find it. I will try again to find the file.

As I said before, I am not an expert with ASDF, but I am trying to go over
the coupling of my modules
and review dependencies. Loading with SBCL exhibits weird behavior where it
stops half (freezes) and start over again and it runs ok.

Rob also provided some additional info regarding extracting dependency
information and I'll explore these in addition.

Thanks

On Thu, Dec 26, 2019 at 5:20 PM Faré <fahree at gmail.com> wrote:

> I updated the POIU README with remarks based on our discussion so far.
> After thinking a bit more, I suspect it is not *that* hard to
> completely fix POIU and extract (and display) a precise ASDF
> dependency graph from it. But it's still some amount of serious work
> and a walk through the internals or ASDF and POIU.
>
> NB: I'm talking about POIU, not UIOP. Even I got confused in my
> previous messages at times. Oops.
>
> —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
> http://fare.tunes.org
> The idea is not to confront bad ideas but to come up with good ideas.
> Otherwise, your enemies define the game and you are the loyal opposition.
>         — Terence McKenna
>
>
> On Tue, Dec 24, 2019 at 12:17 PM Robert Goldman <rpgoldman at sift.info>
> wrote:
> >
> > What kind of dependency graph are you looking to make? Just the systems,
> or also the individual system components?
> >
> > And do you want a visible representation of this graph, or just some set
> of data structures?
> >
> > I assume the former, since you should be able to use the system
> components themselves to get all the dependency links.
> >
> > If it's the former, the easiest thing might be to use CL-DOT and write
> the necessary methods to create a graph.
> >
> > You might need to get ASDF to compute the plan for LOAD-OP as a way to
> ensure that all the required system definitions are loaded.
> >
> > With respect to test systems, I have usually found it best to have my
> systems, say "foo", have "foo/test" related systems, delegate the test-op
> for "foo" to "foo/test" using in-order-to, and then only "foo/test" needs
> to depend on the test library -- "foo" itself doesn't need it.
> >
> > HtH,
> >
> > R
> >
> > On 23 Dec 2019, at 19:08, Jay wrote:
> >
> > Thanks.
> >
> > I will follow up with Rob later.
> >
> > Anyway, thanks for help in the past. I will liaise with Rob to figure out
> > the best way forward.
> >
> > Jay
> >
> > Faré
> > 6:52 PM (14 minutes ago)
> > to me
> >
> > I guess, I will have to step up at some point. I have a tool that's built
> >
> > with CL. I'll start small from the easier tasks and work my way up the
> > graph one you highlighted above.
> >
> > Then, I will be able to tackle the graph thing, as you said it's no easy
> >
> > fit.
> >
> > Makes sense.
> >
> > Are the TODO you mentioned ordered in some priority list or tagged with
> >
> > easier/medium/hard.
> >
> > Unhappily not. Give it a look and/or give a look at the issues on
> > launchpad, and/or ask Robert, for guidance. Sorry I don't have time to
> > sort out the issues right now.
> >
> > And the repo is still the version on gitlab right? Does Rob hang over at
> >
> > #lisp irc?
> >
> > Yes the repo is on gitlab, but the issues are still mostly on launchpad.
> >
> > Robert sometimes is on IRC as rpg (or is is rpgoldman? notthatrpg?).
> >
> > —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
> > http://fare.tunes.org
> > "Floating point numbers are like sandpiles; every time you move one
> > you lose a little sand and pick up a little dirt"
> > — Vic Vissotsky
> >
> >
> > On Mon, Dec 23, 2019 at 6:52 PM Faré <fahree at gmail.com> wrote:
> >
> > I guess, I will have to step up at some point. I have a tool that's
> >
> > built with CL. I'll start small from the easier tasks and work my way up
> > the graph one you highlighted above.
> >
> > Then, I will be able to tackle the graph thing, as you said it's no easy
> >
> > fit.
> >
> > Makes sense.
> >
> > Are the TODO you mentioned ordered in some priority list or tagged with
> >
> > easier/medium/hard.
> >
> > Unhappily not. Give it a look and/or give a look at the issues on
> > launchpad, and/or ask Robert, for guidance. Sorry I don't have time to
> > sort out the issues right now.
> >
> > And the repo is still the version on gitlab right? Does Rob hang over at
> >
> > #lisp irc?
> >
> > Yes the repo is on gitlab, but the issues are still mostly on launchpad.
> >
> > Robert sometimes is on IRC as rpg (or is is rpgoldman? notthatrpg?).
> >
> > —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
> > http://fare.tunes.org
> > "Floating point numbers are like sandpiles; every time you move one
> > you lose a little sand and pick up a little dirt"
> > — Vic Vissotsky
> >
> >
> > On Fri, Nov 29, 2019 at 11:33 AM Faré <fahree at gmail.com> wrote:
> >
> > I could not follow up in the past as I had to relocate between cities
> >
> > (central to west coast) so that caused a lot of changes in my schedule.
> > What is the state of the asdf contributors you mentioned last time -- the
> > developers taking over asdf development albeit gradually.
> >
> > No one has really stepped forward. It's still Robert Goldman
> > maintaining things, while I have moved away from active maintenance
> > and am only reviewing patches and giving advice, sometimes making
> > small edits to documentation.
> >
> > I just started working on my fairly large system again, and recently
> >
> > had issues when I was trying to disentangle systems to avoid loading
> > multiple test systems that clobber global variables. A secondary goal is
> to
> > reduce unnecessary dependencies ( btw I use :class
> :package-inferred-system
> > in my setup).
> >
> > Is there some asdf option that I can use to get the graph for a given
> >
> > loaded system or some score of complexity due to linkages. I have been
> able
> > to improve this over the years and the system is a more stable but
> > occasionally hangs when it has to load many packages (hundreds of files)
> > after compiler update (using SBCL primarily)
> >
> > Aha. Well, it used to be that POIU could extract a dependency graph
> > from an ASDF system, and act on it to build; but this has bitrotten a
> > bit with the latest changes in ASDF 3.3, and POIU is not currently
> > very stable. If you could fix it, that would be great. But beware,
> > it's no small undertaking: you have to really get into a lot of
> > internals to do it right, and make non-trivial changes to UIOP, likely
> > including subtle changes to ASDF itself.
> >
> > —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
> >
> > http://fare.tunes.org
> >
> > Appropriate fear keeps you alive. Excessive fear prevents the very thing
> > it's supposed to protect: life. — Attila Lendvai
> >
> >
> >
> >
> >
> >
> > Thanks,
> >
> > Jay
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20200109/bf2448c6/attachment.htm>


More information about the asdf-devel mailing list