Subject: Re: [bug#54539] [PATCH 0/6] Start breaking up import cycles

From: zimoun <[email-masked]>
Date: Thu, 24 Mar 2022 17:58:41 +0100

Hi,

On Thu, 24 Mar 2022 at 08:23, Liliana Marie Prikler
<[email-masked]> wrote:

> I agree that breaking up cycles is a good thing, but I disagree with
> some of the decisions you've made here.  For instance, I oppose the use
> of single-package modules, because those more often than not simply
> clutter the file system.

Well, instead of opinions in the vacuum of matter, we need to profile
and decide on performance report.  The number of files and the number
of package per file should consider the performance of:

 - compilation by developer
 - guix pull
 - guix search (or any other)
 - guix search --load-path
 - etc.

> In either case, declaring all these lazy dependencies near the module
> definition would have the added benefit, that people could see them
> being lazily imported and thus no longer need the #:use-modules
> comment.

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?

Cheers,
simon