From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id kEr5NUkHxGHfcgEAgWs5BA (envelope-from ) for ; Thu, 23 Dec 2021 06:21:13 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id CCqrMUkHxGHUCgAA1q6Kng (envelope-from ) for ; Thu, 23 Dec 2021 05:21:13 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 8604D2F143 for ; Thu, 23 Dec 2021 06:21:13 +0100 (CET) Received: from localhost ([::1]:52986 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n0GXQ-0002ot-C8 for larch@yhetil.org; Thu, 23 Dec 2021 00:21:12 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38976) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n0GXG-0002oU-MH for guix-patches@gnu.org; Thu, 23 Dec 2021 00:21:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:48677) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n0GXG-0002Dk-Ci for guix-patches@gnu.org; Thu, 23 Dec 2021 00:21:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1n0GXG-0004av-9h for guix-patches@gnu.org; Thu, 23 Dec 2021 00:21:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#51838] [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 23 Dec 2021 05:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51838 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Liliana Marie Prikler , Timothy Sample Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht Received: via spool by 51838-submit@debbugs.gnu.org id=B51838.164023682517593 (code B ref 51838); Thu, 23 Dec 2021 05:21:02 +0000 Received: (at 51838) by debbugs.gnu.org; 23 Dec 2021 05:20:25 +0000 Received: from localhost ([127.0.0.1]:60223 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n0GWb-0004Zd-EG for submit@debbugs.gnu.org; Thu, 23 Dec 2021 00:20:25 -0500 Received: from mail-ua1-f49.google.com ([209.85.222.49]:44740) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n0GWK-0004Yb-RU for 51838@debbugs.gnu.org; Thu, 23 Dec 2021 00:20:20 -0500 Received: by mail-ua1-f49.google.com with SMTP id p2so7919019uad.11 for <51838@debbugs.gnu.org>; Wed, 22 Dec 2021 21:20:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=SV2Wne6oD/wyK5XsvGc9Z8uAQb+jS7odjfsmXA0WJiM=; b=Hla+biUaNxDN4r4sOaYVtL2Ay2hCfyDBEzkLvXUL92jNYBHnSMkUswJEr3bXuuJpRI OzXImJYI3aVOUaXim0qeL75woIzJVV9awHWRYfXKtetyG1xlp2LLWZ0nqFzOTv2GABKA ndCA4F4X07+EmjNs/BVNplE0H2n4ye2wGWcuB+8uMkUtpeRam/7sVOzLMZH8xAMk2D8x QhD3JWMy68qO8wqScrN1AJiI5zpcIRokDjAwNluHLnjEzIz32ypi2sTj4xLdjHuAh35T a/xLUQDt3+Xvi7iVbujlkb8wmaCgdsTQI79Y9zb9WvWyJfKrNEiOnZFe8TEaZuZxnfMo NwxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=SV2Wne6oD/wyK5XsvGc9Z8uAQb+jS7odjfsmXA0WJiM=; b=zKBLfSiIFNXu6+6HZpeF80OrYbE842bZ57CRWMB51fdc4U/NEIl3GOrHxmz2nRtswg cHdKOBd/m25RZzOS8jodSAHdfsCuCErzyLaoBmpIT0/0O3ETFzhAz/aPdmntF73Rwg8c ZpSKpwm0LhJleuPTa3HlOEitthfFZxKYMaPvlOOrPplkipcnLtctx47Ffneqe1Wdwu2G xTJYPkEUWA75zP0aokT8lNc+jiL1xuP8SlOeTByg5dM4V4vV4lZfuYVfo8n4L2/sjM7F 8U8CG6wT+w8DTlqDyoZlxhbvhCtkyNRkWnt9KrAE16sMCKOtSp7iQi84HUdK2G5I9Oqj fMQA== X-Gm-Message-State: AOAM531uwdeVxKOIG2OWN4QVC9dRf3VQTeHynJtEfPEYnK/JdBN2IAPL w2xzWlGi9Yl9ocNzlbNDlODkXPvoCMK7zSYh X-Google-Smtp-Source: ABdhPJwOuBrdAVCxSmEHXf5Nir5lHh6yX9jvfSv/WH8oB4mD3ZqkCvUhPhMQSbC9wgEal5fK8qTj1g== X-Received: by 2002:ab0:2b96:: with SMTP id q22mr245386uar.87.1640236798028; Wed, 22 Dec 2021 21:19:58 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id w184sm810285vkf.10.2021.12.22.21.19.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 22 Dec 2021 21:19:57 -0800 (PST) Message-ID: Date: Thu, 23 Dec 2021 00:19:57 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Content-Language: en-US References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> <87r1a7118r.fsf@ngyro.com> <41461d4f-5e7d-d9be-51c4-7a58c4f7570f@philipmcgrath.com> <06bf9af2-5c6c-54c1-1e2e-a652791a6747@philipmcgrath.com> From: Philip McGrath In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1640236873; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=SV2Wne6oD/wyK5XsvGc9Z8uAQb+jS7odjfsmXA0WJiM=; b=mW3kKNHcWwgJKiW9/aENLAoirIAumCJKZteaIyNg6nUvHRPb8IVk2eLDYfJm4SgzdSYd2c lT3zMx4aeJXLdsttKCv7HNKLU2NLjN1MGmIrfwgLwWe4DVt6P8C+6uQYRiAcCDreYnZ9hP sNfq/yBBTXH1mUYRyyHcZ6X2vvIT0DdhX7ntIUVUzVXbCZzXRzWNwc/4OztZ2Og3rk7f3m pDX/g3c77vFfFVnDjNOjmPrX24lq4h5Ef354MRSc1m2KOiUUyjcgTqjW3ITiyW2LmShD0R QEAZUmAkiHtYenCmX+yrJyd0267LuBEG6itxXlrfq4Q9lweBe5m7nNcW5DEAuw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1640236873; a=rsa-sha256; cv=none; b=pJKtfJvs4AZQfsrDsZGym1ZuzTjVd1ZD9ceAuwyMFyruoQiJ8cYNqbOFeb6pzp+rOyzFs8 MX1qHnwZo675VRSyudo7eaRh5C5vfNhJiVjrg71xiaPfyL4Syh1zEnj84q6weI4yVcBx8q TJNQJ+jJ27sBvNMRwtpaTLBYrW4pPnfdH5lw218K3tigGQlFJw3MBBW+qaFkrj6Y3+brY1 xhaPp9WcgoegQqcRsE2s2rhY3TJE3ClNy3sCrjzoNvp0Dqwg0UkxTFKgJGBj2fa+019/Ke 0rxBAoCf3ZEDm7+v1cZeMRVnYsMAqd8LEKE5GbRuQiWMj+0FFy4dK/uuhaT5ew== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=google header.b=Hla+biUa; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -1.54 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=google header.b=Hla+biUa; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 8604D2F143 X-Spam-Score: -1.54 X-Migadu-Scanner: scn0.migadu.com X-TUID: TZZlo5DX4mbK 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