Subject: Re: [bug#33448] [PATCH 2/3] describe: Add json format.

From: [email-masked] (Ludovic Courtès)
Date: Thu, 22 Nov 2018 17:53:05 +0100

Hi Oleg,

Oleg Pykhalov <[email-masked]> skribis:

> Almost done with current patch series and only one question.
>
> [email-masked] (Ludovic Courtès) writes:
>
>> Oleg Pykhalov <[email-masked]> skribis:
>>
>>> * guix/channels.scm (channel->json): New procedure.
>>> * guix/scripts/describe.scm (%options): Add 'json' option.
>>> (display-checkout-info, display-profile-info): Use 'channel->json'.
>>> * doc/guix.texi (Invoking guix describe): Document this.
>>
>> [...]
>>
>>> +(define channel->json
>>> +  (match-lambda
>>> +    (($ <channel> name url branch commit location)
>>> +     (scm->json-string
>>> +      (list
>>> +       (cons 'name name)
>>> +       (cons 'url url)
>>> +       (cons 'commit commit))))))
>>
>> Since this is not a core feature of channels and add a dependency on
>> (json), what about moving this procedure to (guix scripts describe)?
>
> <channel> should be exported in (guix channels) in this case.  Is it OK?

No I think we should avoid exporting <channel>, but anyway we can write
this procedure as:

  (lambda (channel)
    (scm->json-string `((name . ,(channel-name channel)) …)))

Ludo’.