unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: 01/01: scripts: refresh: Allow searching recursively.
       [not found] ` <20181224103305.59E3520448@vcs0.savannah.gnu.org>
@ 2018-12-25 15:05   ` Ludovic Courtès
  2018-12-25 17:10     ` Efraim Flashner
  0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2018-12-25 15:05 UTC (permalink / raw)
  To: guix-devel, Efraim Flashner

Hello!

guix-commits@gnu.org skribis:

> efraim pushed a commit to branch master
> in repository guix.
>
> commit c39491829a0c1d870f8133b8f7a699152fc71503
> Author: Efraim Flashner <efraim@flashner.co.il>
> Date:   Wed Dec 19 22:08:18 2018 +0200
>
>     scripts: refresh: Allow searching recursively.
>     
>     * guix/scripts/refresh.scm (refresh-recursive, list-transitive): New
>     procedures.
>     (show-help): Document it.
>     (guix-refresh): Add flags and checks for new options.
>     * doc/guix.texi (Invoking guix refresh): Document new options.

Nice work!

> +@item --list-transitive
> +List all the packages which one or more packages depend upon.

What about ‘--list-dependencies’, for clarity and symmetry with
‘--list-dependents’?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 01/01: scripts: refresh: Allow searching recursively.
  2018-12-25 15:05   ` 01/01: scripts: refresh: Allow searching recursively Ludovic Courtès
@ 2018-12-25 17:10     ` Efraim Flashner
  2019-01-05 17:43       ` Ludovic Courtès
  0 siblings, 1 reply; 5+ messages in thread
From: Efraim Flashner @ 2018-12-25 17:10 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1422 bytes --]

On Tue, Dec 25, 2018 at 04:05:11PM +0100, Ludovic Courtès wrote:
> Hello!
> 
> guix-commits@gnu.org skribis:
> 
> > efraim pushed a commit to branch master
> > in repository guix.
> >
> > commit c39491829a0c1d870f8133b8f7a699152fc71503
> > Author: Efraim Flashner <efraim@flashner.co.il>
> > Date:   Wed Dec 19 22:08:18 2018 +0200
> >
> >     scripts: refresh: Allow searching recursively.
> >     
> >     * guix/scripts/refresh.scm (refresh-recursive, list-transitive): New
> >     procedures.
> >     (show-help): Document it.
> >     (guix-refresh): Add flags and checks for new options.
> >     * doc/guix.texi (Invoking guix refresh): Document new options.
> 
> Nice work!
> 
> > +@item --list-transitive
> > +List all the packages which one or more packages depend upon.
> 
> What about ‘--list-dependencies’, for clarity and symmetry with
> ‘--list-dependents’?
> 

It was originally '--list-recursive' but Bavier suggested
'--list-transitive' so it would match 'guix build --sources=transitive'

If it's too close to '--list-dependents' then I'm worried people could
look at it and ask 'packages FOO is dependent on or packages that are
dependent on FOO?'

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 01/01: scripts: refresh: Allow searching recursively.
  2018-12-25 17:10     ` Efraim Flashner
@ 2019-01-05 17:43       ` Ludovic Courtès
  2019-01-05 20:15         ` swedebugia
  0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2019-01-05 17:43 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Efraim Flashner <efraim@flashner.co.il> skribis:

> On Tue, Dec 25, 2018 at 04:05:11PM +0100, Ludovic Courtès wrote:
>> Hello!
>> 
>> guix-commits@gnu.org skribis:
>> 
>> > efraim pushed a commit to branch master
>> > in repository guix.
>> >
>> > commit c39491829a0c1d870f8133b8f7a699152fc71503
>> > Author: Efraim Flashner <efraim@flashner.co.il>
>> > Date:   Wed Dec 19 22:08:18 2018 +0200
>> >
>> >     scripts: refresh: Allow searching recursively.
>> >     
>> >     * guix/scripts/refresh.scm (refresh-recursive, list-transitive): New
>> >     procedures.
>> >     (show-help): Document it.
>> >     (guix-refresh): Add flags and checks for new options.
>> >     * doc/guix.texi (Invoking guix refresh): Document new options.
>> 
>> Nice work!
>> 
>> > +@item --list-transitive
>> > +List all the packages which one or more packages depend upon.
>> 
>> What about ‘--list-dependencies’, for clarity and symmetry with
>> ‘--list-dependents’?
>> 
>
> It was originally '--list-recursive' but Bavier suggested
> '--list-transitive' so it would match 'guix build --sources=transitive'
>
> If it's too close to '--list-dependents' then I'm worried people could
> look at it and ask 'packages FOO is dependent on or packages that are
> dependent on FOO?'

Good point.  I do feel like ‘--list-dependencies’ is clearer though.
With ‘list-transitive’, since “transitive” is an adjective, I first
wondered: transitive what?

What do people think?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 01/01: scripts: refresh: Allow searching recursively.
  2019-01-05 17:43       ` Ludovic Courtès
@ 2019-01-05 20:15         ` swedebugia
  2019-01-08 16:27           ` Ludovic Courtès
  0 siblings, 1 reply; 5+ messages in thread
From: swedebugia @ 2019-01-05 20:15 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, Guix-devel

On 2019-01-05 18:43, Ludovic Courtès wrote:
> Efraim Flashner <efraim@flashner.co.il> skribis:
> 
>> On Tue, Dec 25, 2018 at 04:05:11PM +0100, Ludovic Courtès wrote:
>>> Hello!
>>> 
>>> guix-commits@gnu.org skribis:
>>> 
>>> > efraim pushed a commit to branch master
>>> > in repository guix.
>>> >
>>> > commit c39491829a0c1d870f8133b8f7a699152fc71503
>>> > Author: Efraim Flashner <efraim@flashner.co.il>
>>> > Date:   Wed Dec 19 22:08:18 2018 +0200
>>> >
>>> >     scripts: refresh: Allow searching recursively.
>>> >
>>> >     * guix/scripts/refresh.scm (refresh-recursive, list-transitive): New
>>> >     procedures.
>>> >     (show-help): Document it.
>>> >     (guix-refresh): Add flags and checks for new options.
>>> >     * doc/guix.texi (Invoking guix refresh): Document new options.
>>> 
>>> Nice work!
>>> 
>>> > +@item --list-transitive
>>> > +List all the packages which one or more packages depend upon.
>>> 
>>> What about ‘--list-dependencies’, for clarity and symmetry with
>>> ‘--list-dependents’?
>>> 
>> 
>> It was originally '--list-recursive' but Bavier suggested
>> '--list-transitive' so it would match 'guix build --sources=transitive'
>> 
>> If it's too close to '--list-dependents' then I'm worried people could
>> look at it and ask 'packages FOO is dependent on or packages that are
>> dependent on FOO?'
> 
> Good point.  I do feel like ‘--list-dependencies’ is clearer though.
> With ‘list-transitive’, since “transitive” is an adjective, I first
> wondered: transitive what?
> 
> What do people think?

I pondered this a bit. 

What about evolving our terminology as if we talk about the graph
produced by "guix graph"?

That means we have only 2 directions. Upwards: 'packages that are
dependent on FOO'
Downwards: 'packages FOO is dependent on'

This could give us the following terms:
X is an upwards dependency to Y.
FOO is a downward dependency of BAR.
=>
--list-upwards-dependencies
--list-downwards-dependencies

Furthermore we could create words to describe packages with many/few
dependencies:

Package X is a heavy root with 120 upward links.

We could define a scale and make our commands output it consistently:

- light root <=50 upward links
- medium root >50<=100 upward links
- heavy root >100<=500 upward links
- very heavy root >500<=1000 upward links
- extremely heavy root >1000 upward links

(The numbers above are just an example)

With npm-packages we could say:
Package X is a heavy root with 3 versions in use.
Package Y is a light root with only the latest in use.

(In npm a package can appear multiple times as dependency to
dependencies and sometimes in different versions meaning we have to
package it multiple versions of some packages.)

Thoughts?

-- 
Cheers
Swedebugia

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 01/01: scripts: refresh: Allow searching recursively.
  2019-01-05 20:15         ` swedebugia
@ 2019-01-08 16:27           ` Ludovic Courtès
  0 siblings, 0 replies; 5+ messages in thread
From: Ludovic Courtès @ 2019-01-08 16:27 UTC (permalink / raw)
  To: swedebugia; +Cc: guix-devel, Guix-devel

Hi,

swedebugia@riseup.net skribis:

> Furthermore we could create words to describe packages with many/few
> dependencies:
>
> Package X is a heavy root with 120 upward links.
>
> We could define a scale and make our commands output it consistently:
>
> - light root <=50 upward links
> - medium root >50<=100 upward links
> - heavy root >100<=500 upward links
> - very heavy root >500<=1000 upward links
> - extremely heavy root >1000 upward links
>
> (The numbers above are just an example)

Yes, I’ve been wanting something like this, but IIRC the current (guix
graph) implementation turned out to be inefficient to compute
upward/downward rank for a large number of nodes.

Ludo’.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-01-08 16:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20181224103304.24211.61386@vcs0.savannah.gnu.org>
     [not found] ` <20181224103305.59E3520448@vcs0.savannah.gnu.org>
2018-12-25 15:05   ` 01/01: scripts: refresh: Allow searching recursively Ludovic Courtès
2018-12-25 17:10     ` Efraim Flashner
2019-01-05 17:43       ` Ludovic Courtès
2019-01-05 20:15         ` swedebugia
2019-01-08 16:27           ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).