From: Tobias Geerinckx-Rice <me@tobias.gr>
To: amirouche@hypermove.net
Cc: help-guix@gnu.org
Subject: Re: What about dependency resolution à la apt?
Date: Thu, 16 Mar 2017 21:28:18 +0100 [thread overview]
Message-ID: <90b4b820-6d13-01e5-309f-c17700a61974@tobias.gr> (raw)
In-Reply-To: <368b70bd-ef62-ea59-7c2d-4564d7948f40@hypermove.net>
[-- Attachment #1.1: Type: text/plain, Size: 2032 bytes --]
Amirouche,
On 16/03/17 19:52, Amirouche wrote:
> Héllo,
Hi!
I'm not the most technically qualified person to answer this, nor the
most articulate, but I'm mainly curious and slightly puzzled as to why
this question keeps popping up. I hope others will join in, since I fear
this hints at some fundamental misunderstandings about Guix that might
hurt world d^W^W adoption.
> AFAIU guix does hardcode the dependencies so that to know the
> dependencies one has onlytocrawl the dependency DAG using a BFS or
> something. I don't know what is the exact part in guix that does
> that. It's only my understanding.
This doesn't happen.[1]
It takes some getting used to when you're used to old-school package
managers where the resolver is A Big Deal, or even The Biggest Deal:
Gentoo, anyone?
But one of the many great things about functional package management à
la Nix/Guix is that you don't need — or want — a dependency resolver. At
all. That eliminates a lot of nasty problems, and makes others much
easier to solve.
Huge Deal.
> What about having apt-like dependency resolution, also like npm
> where version are specified in terms of "superior to", "equal to"
> taking advantage of semantic versionning?[2]
Guix already does ‘equal to’ better than anyone. Bit-identical, even.
What does ‘superior to’ mean? Why not just specify the latest version
that works? What's to gain by throwing uncertainty back into the game?
Kind regards,
T G-R
[1]: In Guix. Correct me if I'm wrong.
I'm ignoring the importer, which may eventually need to ‘solve’ things
like npm version constraints when first importing npm packages. *shrugs*
[2]: Side rant: the myth of semantic versioning needs to die.
It tries to solve the problem of downstream machines playing a guessing
game that's doomed to break (i.e. ‘apt-like dependency resolution’), by
making upstream humans play a different guessing game.
There is simply nothing there to take advantage of.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 476 bytes --]
next prev parent reply other threads:[~2017-03-16 20:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-16 18:52 What about dependency resolution à la apt? Amirouche
2017-03-16 20:28 ` Tobias Geerinckx-Rice [this message]
2017-03-16 20:29 ` Thompson, David
2017-03-16 20:31 ` Tobias Geerinckx-Rice
2017-03-16 20:56 ` Amirouche
2017-03-16 22:45 ` Tobias Geerinckx-Rice
2017-03-16 22:53 ` Ludovic Courtès
2017-03-17 9:07 ` Chris Marusich
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=90b4b820-6d13-01e5-309f-c17700a61974@tobias.gr \
--to=me@tobias.gr \
--cc=amirouche@hypermove.net \
--cc=help-guix@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.
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).