guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: All updaters are broken


From: Ricardo Wurmus
Subject: Re: All updaters are broken
Date: Mon, 02 Jan 2023 20:17:05 +0100
User-agent: mu4e 1.8.13; emacs 28.2

Hartmut Goebel <h.goebel@crazy-compilers.com> writes:

> Hello Ricardo,
>
> Am 02.01.23 um 14:16 schrieb Ricardo Wurmus:
>> Attached is a crude implementation of that.  I just consed the lists
>> together instead of returning multiple values, because the compound
>> value is to be used inside the store monad where we can’t easily access
>> multiple values.
>
> Thanks for providing the patch. For me this looks huge and hard to
> maintain.

“Hard to maintain”?  How so?

It’s no larger than your patch.  The big diff is due to indentation
changes inside the mlet (as I introduce a “match” to split the compound
value).  The actual difference is pretty small.

> I'd rather make "options->update-specs" return update-specs
> in any cases. This adds a small overhead only in the case of
> --recursive.

I think it’s rather inelegant to wrap packages in a structure that we
throw away moments later because we only do the wrapping so that we can
access the wrapped package again — and we *know* the contents already,
so this whole wrapping and unwrapping is just obscuring the purpose.

The overhead is also substantial, because it happens in the worst case:
when no single package is provided, e.g. with “guix refresh -t cran -u”.
This means that *a lot* of packages may get wrapped up and unwrapped
again.  Certainly not ideal.

-- 
Ricardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]