all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Liliana Marie Prikler <liliana.prikler@ist.tugraz.at>
To: Maxime Devos <maximedevos@telenet.be>, zimoun <zimon.toutoune@gmail.com>
Cc: 54539@debbugs.gnu.org
Subject: [bug#54539] [PATCH 0/6] Start breaking up import cycles
Date: Fri, 25 Mar 2022 09:44:38 +0100	[thread overview]
Message-ID: <84da9090d9dee87855ee4f5b2f5442ad919ea032.camel@ist.tugraz.at> (raw)
In-Reply-To: <2b5a3af9bd4ea9ec79ad9f9636ed344a51ba7a81.camel@telenet.be>

Am Donnerstag, dem 24.03.2022 um 19:07 +0100 schrieb Maxime Devos:
> zimoun schreef op do 24-03-2022 om 17:58 [+0100]:
> > I agree that lazyness is a good thing and a good direction. 
> > However, let be pragmatic with what we have now. :-)  What are the
> > performance comparison between breaking many cycles as Maxime is
> > proposing vs using many 'module-ref' + 'resolve-interface' instead
> > of break?
> 
> Currently this patch series does not improve anything much, according
> to "guix graph --type=module hello | wc --lines".  I'm now
> introducing some module-ref+resolve-interface --- it's very
> convenient, but I'm not yet at a significant result.
For the record, my suggestion to declare lazily loaded modules near the
top is based on the fact that Maxime's current patch set uses them to
break up cycles in a manner that also requires a comment in the define-
module clause for the sake of clarity.  As a nice side effect, it makes
it so that two-liners in the inputs field become one-liners.

The question is (on a per-module basis) whether we consider this cheat
fine or whether we want to move things into different files (and
which).  I so far haven't heard a good argument for the case of
audacity I raised.  "It breaks cycles" is not good enough when we
consider the potential existence of other cuts (e.g. "audio-apps",
although perhaps a more specific "audio-editors" similar to how we have
"image-viewers" might make more sense), as well as the cheat of lazy
imports.

simon, you raise some important performance metrics, but there is such
a thing as optimizing for the wrong metric.  There are other variables
to consider, like time to grep, "does it make sense that X belongs to Y
and Z doesn't", etc., when it comes to ease of contributing.  Declaring
some modules banned for a given other module has an adverse effect
here, in my opinion, and thus I claim that we need easily accessible
ways of using those supposedly banned modules.

Btw. regarding style, I think declaring a function @PACKAGE_MODULE,
i.e. a literal '@ followed by the last symbol in the module's name,
would be the easiest, as one could read (@PACKAGE_MODULE arg) as a
shorthand for (@ (gnu packages PACKAGE_MODULE) arg).  Somewhat off-
topic, what's the rationale behind not using @ syntax?  Does @ have
different semantics from resolve-interface + module-ref?

Cheers




  reply	other threads:[~2022-03-25  8:45 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-23 18:46 [bug#54539] [PATCH 0/6] Start breaking up import cycles Maxime Devos
2022-03-23 18:48 ` [bug#54539] [PATCH 1/6] gnu: audacity: Move into new module to break cycles Maxime Devos
2022-03-23 18:48   ` [bug#54539] [PATCH 2/6] gnu: xsensors: Move to (gnu packages xorg) " Maxime Devos
2022-03-23 18:48   ` [bug#54539] [PATCH 3/6] gnu: tlp: Move tlp and friends to new module " Maxime Devos
2022-03-23 18:48   ` [bug#54539] [PATCH 4/6] gnu: go-netlink: Move to (gnu packages networking) " Maxime Devos
2022-03-23 18:48   ` [bug#54539] [PATCH 5/6] gnu: earlyoom: Avoid importing Goland and Haskelland " Maxime Devos
2022-03-23 18:48   ` [bug#54539] [PATCH 6/6] gnu: linux: Avoid importing (gnu packages check) " Maxime Devos
2022-03-25 14:42   ` [bug#54539] [PATCH 1/6] gnu: audacity: Move into new module " Maxime Devos
2022-03-23 18:49 ` [bug#54539] [PATCH 0/6] Start breaking up import cycles Maxime Devos
2022-03-24  7:22   ` Liliana Marie Prikler
2022-03-24 15:05     ` Maxime Devos
2022-03-24 15:38       ` Liliana Marie Prikler
2022-03-24 15:46         ` Maxime Devos
2022-03-25 10:26         ` Maxime Devos
2022-03-25 11:47           ` Liliana Marie Prikler
2022-03-25 14:12             ` Maxime Devos
2022-03-25 14:27               ` Liliana Marie Prikler
2022-03-24 16:58     ` zimoun
2022-03-24 18:07       ` Maxime Devos
2022-03-25  8:44         ` Liliana Marie Prikler [this message]
2022-03-25 17:05           ` zimoun
2022-03-25 17:46             ` Maxime Devos
2022-03-25 19:33               ` zimoun
2022-03-24 17:05     ` Leo Famulari
2022-03-25  8:51       ` Liliana Marie Prikler
2022-03-24 21:49 ` Maxime Devos
2022-03-25 14:36 ` Maxime Devos
2022-04-19  9:17 ` Ludovic Courtès
2022-04-19  9:40   ` Maxime Devos
2022-04-27 21:04     ` Ludovic Courtès
2022-04-19 15:31   ` Maxime Devos
2022-04-27 20:59     ` Ludovic Courtès
2022-09-03 16:43 ` [bug#54539] [PATCH v2 01/30] gnu: package-management: Autoload unless used by Guix Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 02/30] gnu: gnupg: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 03/30] gnu: base: Autoload (gnu packages algebra) Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 04/30] gnu: admin: Autoload unless used by Guix Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 05/30] gnu: perl: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 06/30] gnu: crypto: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 07/30] gnu: check: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 08/30] gnu: databases: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 09/30] gnu: backup: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 10/30] gnu: guile-xyz: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 11/30] gnu: gettext: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 12/30] gnu: python: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 13/30] gnu: linux: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 14/30] gnu: docbook: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 15/30] gnu: icu4c: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 16/30] gnu: curl: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 17/30] gnu: elf: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 18/30] gnu: compression: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 19/30] gnu: hurd: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 20/30] gnu: algebra: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 21/30] gnu: version-control: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 22/30] gnu: tcl: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 23/30] gnu: fontutils: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 24/30] gnu: web: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 25/30] gnu: xml: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 26/30] gnu: ruby: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 27/30] gnu: python-xyz: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 28/30] gnu: cmake: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 29/30] gnu: documentation: " Maxime Devos
2022-09-03 16:43   ` [bug#54539] [PATCH v2 30/30] gnu: Autoload more Maxime Devos
2022-09-03 16:44     ` Maxime Devos
2022-09-03 18:09     ` Maxime Devos

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

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

  git send-email \
    --in-reply-to=84da9090d9dee87855ee4f5b2f5442ad919ea032.camel@ist.tugraz.at \
    --to=liliana.prikler@ist.tugraz.at \
    --cc=54539@debbugs.gnu.org \
    --cc=maximedevos@telenet.be \
    --cc=zimon.toutoune@gmail.com \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.