From: Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
To: Ricardo Wurmus <rekado@elephly.net>
Cc: guix-devel@gnu.org
Subject: Re: Trouble with circular module dependencies (Re: 01/02: gnu: Add ncurses-with-gpm.)
Date: Wed, 26 Jul 2017 09:30:09 +0200 [thread overview]
Message-ID: <87h8xzd5a6.fsf@gmail.com> (raw)
In-Reply-To: <87d18o6wah.fsf@elephly.net>
Ricardo Wurmus writes:
> Ludovic Courtès <ludo@gnu.org> skribis:
>
>> Mark H Weaver <mhw@netris.org> skribis:
>>
>>> FWIW, I would like to see us work to eliminate all cyclic module
>>> dependencies in Guix, by splitting up our package modules as needed so
>>> that they form a directed acyclic graph.
>>
>> This seems hard to achieve, unless we use one file per package.
>
> Are there drawbacks to using one file per package other than it’s a bit
> “heavy” due to all the boilerplate of license headers and module
> definitions?
I have two thoughts that are related to this:
- languages like Perl, which have tons of modules on CPAN, a great
number of which are incredibly simple and small: we are literally
talking about adding 100s of files. This is quite different from
adding a "program", such as Emacs, a larger, well-defined definition.
I don't think the Perl example is a stopper, but perhaps something to
consider in terms of performance/implementation.
- If we take this direction, perhaps we should aim to have a helper
commandline script to which you can pass the dependencies, and which
takes care of writing the boilerplate as well as importing the
appropriate modules?
Alex
next prev parent reply other threads:[~2017-07-26 7:30 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20170715081544.12288.82778@vcs0.savannah.gnu.org>
[not found] ` <20170715081545.DB2A022E4F@vcs0.savannah.gnu.org>
2017-07-23 22:22 ` Trouble with circular module dependencies (Re: 01/02: gnu: Add ncurses-with-gpm.) Mark H Weaver
2017-07-24 6:37 ` Ricardo Wurmus
2017-07-24 9:25 ` Ludovic Courtès
2017-07-25 21:28 ` Ricardo Wurmus
2017-07-25 21:45 ` Danny Milosavljevic
2017-07-26 7:30 ` Alex Sassmannshausen [this message]
2017-07-27 9:01 ` Ludovic Courtès
2017-07-25 21:59 ` Danny Milosavljevic
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=87h8xzd5a6.fsf@gmail.com \
--to=alex.sassmannshausen@gmail.com \
--cc=guix-devel@gnu.org \
--cc=rekado@elephly.net \
/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).