[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Implementing the guix-dameon in Guile
From: |
Christopher Baines |
Subject: |
Re: Implementing the guix-dameon in Guile |
Date: |
Thu, 14 Sep 2023 16:53:16 +0100 |
User-agent: |
mu4e 1.10.5; emacs 28.2 |
Ludovic Courtès <ludo@gnu.org> writes:
>> Rewrites are risky because you only get the value right at the end,
>> therefore the priority is to get a minimal but viable implementation in
>> Guile that can be switched to, and not to get distracted on adding or
>> improving functionality unnecessarily. That is better done once the new
>> implementation has been adopted.
>
> In the past I wondered, as Maxim wrote, whether we could move
> incrementally—after all, a fair bit of “the daemon” is already in Scheme
> (there’s substitute support and other helps, plus (guix store …) etc.)
> I’m not sure that’s feasible or desirable though.
>
> My take today :-) is that ‘wip-guile-daemon’ is a great starting point.
> We could aim towards having a minimal ‘guix daemon’ (space) command that
> would coexist with ‘guix-daemon’ and that people could try out soonish
> (I think Caleb got it to build derivations back then). Eventually less
> adventurous people will use it, and at some point it’ll be sufficiently
> mature that we can default to ‘guix daemon’ instead of ‘guix-daemon’.
Yep, my hope is that this can happen over the next year.
> Technically, I think it should be a single-threaded Fibers program,
> building on the experience we got from the Coordinator, shepherd, etc.
> That should allow us to do everything in one process (in contrast, the
> C++ implementation forks for every incoming connection, which then
> significantly complicates the implementation of locking, etc.)
Yep, that sounds good to me.
> I imagine the daemon could be structured as a set of actors (it’s really
> my thing these days ;-)), with an eye on facilitating code sharing and
> interaction with the Coordinator, Cuirass, and all that.
I'm not very familiar with actors, but I guess that's similar to having
a bunch of cooperating fibers which handle different things.
And maybe not in the short term, but if the Guile daemon implementation
is flexible and extensible enough, it should be possible to replace the
build coordinator with some extensions in and around the guix daemon.
signature.asc
Description: PGP signature
- Re: Implementing the guix-dameon in Guile, (continued)
- Re: Implementing the guix-dameon in Guile, Felix Lechner, 2023/09/13
- Re: Implementing the guix-dameon in Guile, Vagrant Cascadian, 2023/09/13
- Re: Implementing the guix-dameon in Guile, Josselin Poiret, 2023/09/14
- Re: Implementing the guix-dameon in Guile, Ludovic Courtès, 2023/09/14
- Re: Implementing the guix-dameon in Guile, Mekeor Melire, 2023/09/14
- Re: Implementing the guix-dameon in Guile, Caleb Ristvedt, 2023/09/15