From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tobias Geerinckx-Rice Subject: =?UTF-8?Q?Re:_What_about_dependency_resolution_=c3=a0_la_apt=3f?= Date: Thu, 16 Mar 2017 21:28:18 +0100 Message-ID: <90b4b820-6d13-01e5-309f-c17700a61974@tobias.gr> References: <368b70bd-ef62-ea59-7c2d-4564d7948f40@hypermove.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="Qkqtq72RFDJFpSpBws8PgFJDvgRnj2O3H" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51697) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cobzi-0001AE-GV for help-guix@gnu.org; Thu, 16 Mar 2017 16:27:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cobze-0004I8-GJ for help-guix@gnu.org; Thu, 16 Mar 2017 16:27:34 -0400 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:47230) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cobze-0004Ht-6D for help-guix@gnu.org; Thu, 16 Mar 2017 16:27:30 -0400 In-Reply-To: <368b70bd-ef62-ea59-7c2d-4564d7948f40@hypermove.net> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: amirouche@hypermove.net Cc: help-guix@gnu.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --Qkqtq72RFDJFpSpBws8PgFJDvgRnj2O3H Content-Type: multipart/mixed; boundary="A2bmdJBSO27ubceB0SceutxfxNXJIXsWu"; protected-headers="v1" From: Tobias Geerinckx-Rice To: amirouche@hypermove.net Cc: help-guix@gnu.org Message-ID: <90b4b820-6d13-01e5-309f-c17700a61974@tobias.gr> Subject: =?UTF-8?Q?Re:_What_about_dependency_resolution_=c3=a0_la_apt=3f?= References: <368b70bd-ef62-ea59-7c2d-4564d7948f40@hypermove.net> In-Reply-To: <368b70bd-ef62-ea59-7c2d-4564d7948f40@hypermove.net> --A2bmdJBSO27ubceB0SceutxfxNXJIXsWu Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Amirouche, On 16/03/17 19:52, Amirouche wrote: > H=C3=A9llo, 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 =C3=A0= la Nix/Guix is that you don't need =E2=80=94 or want =E2=80=94 a dependen= cy 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 =E2=80=98equal to=E2=80=99 better than anyone. Bit-iden= tical, even. What does =E2=80=98superior to=E2=80=99 mean? Why not just specify the la= test 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 =E2=80=98solve=E2= =80=99 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. =E2=80=98apt-like dependency resolution= =E2=80=99), by making upstream humans play a different guessing game. There is simply nothing there to take advantage of. --A2bmdJBSO27ubceB0SceutxfxNXJIXsWu-- --Qkqtq72RFDJFpSpBws8PgFJDvgRnj2O3H Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQEqBAEBCgAUBQJYyvVjDRxtZUB0b2JpYXMuZ3IACgkQkczbm0hUG5kpwQgAmXf+ hIHn50ZNLAPKGoiHTscDDBmgTnP4M/ptCO5Z7wzzSJzIVj74dIYnA4yBZMHBSPWS 9l8kbvHowtKxYsHPO8fSelhxB5XAdXlxK/oEE1O6LbpqE+eiBlk+uiaYg9ZInBnP /q5Omy44osMCGMTq+Cq5qG63j29thz4VpGBTvb8uLB4izoWTIGc0Ga6h+Gu2t/rM 2fqWPGYydcva7tY3SE/XH4Vp0oMhZ6NrI/OHPP4hed45K2JcrxwFN300rfUvEMm/ BfPr6gD4z9QxFGbtJaWuUrA99mRI0hzAeP7d62gBrGBIWRiYsUsK2sQRoNSVHks3 SI8U7/0u8QOj40A1RQ== =ln0c -----END PGP SIGNATURE----- --Qkqtq72RFDJFpSpBws8PgFJDvgRnj2O3H--