From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:39413) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ixrHk-0002bP-DV for gwl-devel@gnu.org; Sat, 01 Feb 2020 06:50:01 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: Re: How to install GWL? References: <875zh3w3yp.fsf@elephly.net> <87eevfubob.fsf@elephly.net> Date: Sat, 01 Feb 2020 12:49:32 +0100 In-Reply-To: <87eevfubob.fsf@elephly.net> (Ricardo Wurmus's message of "Fri, 31 Jan 2020 12:07:16 +0100") Message-ID: <87o8ui1q9f.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gwl-devel-bounces+kyle=kyleam.com@gnu.org Sender: "gwl-devel" To: Ricardo Wurmus Cc: gwl-devel@gnu.org Hi there! Ricardo Wurmus skribis: >> The difference between "as a package" --which implies inferiors-- or >> "as a channel" is: embed vs extend. >> >> I was convinced that "as a package" was more convenient. Now I am not su= re. :-) >> Because we know what "embed" means. ;-) >> >> For example, Julien's home-manager [1] uses the "as a channel" approach. > > The home-manager *only* requires Guix. The GWL needs wisp, > guile-commonmark, guile-gcrypt, guile-pfds (for sets), > guile-syntax-highlight, graphviz (for visualizing workflows), etc. In > the future it might also depend on the Guile AWS library, perhaps even > some libraries that implement different schedulers, etc. I=E2=80=99ve al= so been > thinking about adding a web interface to visualize the current state of > processes spawned by the workflow, which should make debugging workflows > much easier. Oh, channels in their current form wouldn=E2=80=99t be a good fit because t= hey don=E2=80=99t allow you to ask for additional dependencies. Perhaps a prob= lem to solve, dunno. > Channels don=E2=80=99t allow for any fancy installation or setup. The Gu= ile > modules provided by a channel are compiled just in time when running > =E2=80=9Cguix pull=E2=80=9D. It doesn=E2=80=99t seem like a good idea fo= r the GWL to hook into > the channels mechanism when it doesn=E2=80=99t provide what channels were > designed to help implement: extensions to the package graph. Yeah. > I think inferiors also give GWL users a feature that would otherwise be > missing: to run arbitrary workflows with arbitrary channel definitions > via inferiors without having to first manually execute =E2=80=9Cguix pull= =E2=80=9D to > switch to the particular channels that a workflow requires. Using > inferiors gives a superior user experience, in my opinion. Indeed, that makes sense to me. Simon and I were discussing and I was saying that this inferior vs. channel discussion reminds me of extend vs. embed in the context of programming languages like Guile (where inferiors are a bit like =E2=80=9Cembedding=E2=80=9D). But yeah, I didn=E2=80=99t have a good understanding of the constraints her= e, so thanks for clarifying! Ludo=E2=80=99.