unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: swedebugia@riseup.net
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org,
	Guix-devel <guix-devel-bounces+swedebugia=riseup.net@gnu.org>
Subject: Re: 01/01: scripts: refresh: Allow searching recursively.
Date: Sat, 05 Jan 2019 12:15:19 -0800	[thread overview]
Message-ID: <ab7e87f14d29ca2f91f2492a4b04db8f@riseup.net> (raw)
In-Reply-To: <87tvin2e6j.fsf@gnu.org>

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

  reply	other threads:[~2019-01-05 20:15 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [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 [this message]
2019-01-08 16:27           ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ab7e87f14d29ca2f91f2492a4b04db8f@riseup.net \
    --to=swedebugia@riseup.net \
    --cc=guix-devel-bounces+swedebugia=riseup.net@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).