GNU bug report logs -
#51838
[PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp.
Previous Next
Reported by: Philip McGrath <philip <at> philipmcgrath.com>
Date: Sun, 14 Nov 2021 12:43:01 UTC
Severity: normal
Tags: patch
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
On 12/21/21 15:44, Liliana Marie Prikler wrote:
> Am Dienstag, dem 21.12.2021 um 13:25 -0500 schrieb Philip McGrath:
>> Here are, to the best of my understanding, the differences in
>> representation among (guix build json) and the three versions of
>> guile-json packaged in Guix.
> I think the main difference between (guix build json) and guile-json
> here are the extended keys in the latter (guix only has strings) and
> the vector/object distinction.
For guile-json-4, the representation of the JSON value "null" is also
different: #nil vs. the symbol 'null.
> I think it'd be rather straight-forward
> to write upgrade guidelines in case we ever make the switch.
> Similarly, all rules based on pattern-matching *will break*, forcing us
> to upgrade all the recipes with it. WDYT? Would that be manageable
> (assuming the change to require Guile-JSON would already be core-
> updates material)?
>
I actually might like (guix build json) better than guile-json-*! Using
vectors for arrays seems roughly awkward as tagged alists, especially if
Guile really doesn't have purely functional update procedures for
alists---and I sure can't find any---so we'd have to write a little
algebra of operations on JSON objects either way. But I'm not really
familiar with the pros and cons of each, and I don't know the context
behind the previous attempt to switch.
My concern is that someone, or several someones, probably should know
all of that context before exposing one representation or another as
part of node-build-system's API. As I've said, I think that's a
high-priority improvement! But it, and designing nice helper functions,
seem quite far removed from the core purpose of this patch series. Since
IMO #:absent-dependencies would still be The Right Thing even if those
utilities already existed, and since #:absent-dependencies can be
implemented without having to resolve any of the broader questions, I
think it would be better not to entangle them with this patch series.
Would it mitigate your concerns with #:absent-dependencies at all if I
send a separate patch series adding more general utilities based on
(guix build json)?
-Philip
This bug report was last modified 3 years and 195 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.