Re: ASDF dependency graph or complexity score

2019-12-26 Thread Faré
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• 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  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•
> 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é  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•
> 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é  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 

Re: ASDF dependency graph or complexity score

2019-12-24 Thread Robert Goldman
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•
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é  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•

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é  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•

http://fare.tunes.org
Appropriate fear keeps you alive. Excessive fear prevents the very 
thing

it's supposed to protect: life.  — Attila Lendvai