Hi,

Bruno Victal <mi...@makinata.eu> skribis:

> IMO there are some procedures (or even modules) that could be relocated into 
> (guix utils) as their utility is more general than what their module names 
> would suggest.
>
> Good candidates to relocate into (guix utils):
> * (gnu home services utils)

Hmm, not sure.

> * list-of, interpose, alist?, list-of-string? from (gnu services 
> configuration)

I think it’s fine to keep them over there.  :-)

The rationale is that one Shouldn’t™ be using things like ‘alist?’ and
‘list-of-string?’ in “real code”: they have linear complexity (like
‘list?’), they might be ill-defined, and we don’t generally write
polymorphic code anyway.

They *are* useful though as a limited form of contracts for
‘define-configuration’ fields, so it’s good to keep them there.

Taking a step back, my inclination is to keep things local, or even
private, until/unless there’s clear evidence of (1) usefulness beyond
their initial place of birth, and (2) the interface is “clean” enough
for them to be promoted.  #2 is subjective, so it’s really on a
case-by-case basis.

My 2¢!

Ludo’.

Reply via email to