From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms1.migadu.com with LMTPS id 4MTJBCJqJmahHwAAqHPOHw:P1 (envelope-from ) for ; Mon, 22 Apr 2024 15:46:10 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id 4MTJBCJqJmahHwAAqHPOHw (envelope-from ) for ; Mon, 22 Apr 2024 15:46:10 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=RHiSU9q3; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1713793569; a=rsa-sha256; cv=none; b=Ukvk1ocMgbfPjMO9GrEXI1cjWzsRxyhXDrps1AfgZtaWh3rnYLmHS8GCmL/F674bNDmgBV CHPcUpJwAtmfFurtfQMyYuV+rgIEX51V5cT1fc4ES8BLWQC5dD+wsQYarIUHxojxWrMWLW hD9hWu7gl0T9MhtRkQ8jH34s4l6gAtM1GOCmFUT0GjMHtk85w5Vlh/Bm+WtkcEU97jWtkx 36cm1MYMJ6OTYijxpXKMeHfh4Qov80NRnQktzo4aEaVWjGiQoccoFCMKq33kRB33ZywF8+ 2b+dkQgbGzzBTGmiw0uSUlwa/fdD9XrOqw6aYbOxmXKr7TiC3MQA3IRC0NrDcA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=RHiSU9q3; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1713793569; 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: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=KeGadjJtuooO4tQOblntBd7fXOkE1JB+uRn8UNDX2nE=; b=VU9heKn4GJtemrPfV7vvMEXmt5FqYU2/rj1kheOZDIszQx9RayJKBPX2dtbQg5i4qVkG7D xfUWQN7llMfoSBWIsBEEeeyJDzHBC/yELP1Gq/WZ6ok0deMyT+IVtP4jAo392TkORJCvz1 ux82Roc1M8btHkaCGjeko8d6Yx0PERIQi8DccgC2yNjaEroj2+MYL4ac+yaw2dTcF8bLea GbYSGDujfA+0RTKix0W3bcj72WBOXnzxGIyMunyQCgYMl43GbnO/5ULzN2jj3ZwcrGFC53 pBraEbVGs1Wj4c4wJBu2rLKOb9laL8Q7xMzjEDOKmPwuZbGlLBgdOu3fO/bp5A== 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 2F6666DDD8 for ; Mon, 22 Apr 2024 15:46:09 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rytzI-00077i-FT; Mon, 22 Apr 2024 09:45:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rytzC-00076n-O2 for guix-devel@gnu.org; Mon, 22 Apr 2024 09:45:36 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rytzA-0000Cs-KL; Mon, 22 Apr 2024 09:45:34 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-347c6d6fc02so674385f8f.1; Mon, 22 Apr 2024 06:45:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713793529; x=1714398329; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:from:to:cc:subject:date:message-id :reply-to; bh=KeGadjJtuooO4tQOblntBd7fXOkE1JB+uRn8UNDX2nE=; b=RHiSU9q3qEYITHiWsOHIzmU5DqCXXHJ6M3CSsmv3bLgo2N9QMfy+OJv4aK7bj00lEe 0UsB+Y4v/HUDdPuuwfhpYXqqRNUjvDKEyq9GJYj6/mSIkuWQynnvfGgkBM4Im2zEMrpt 5R2EyH4O62EPW/YCV0lLw6KZhZ8DZp1u436CMNPdQWBeSgnOsfOVnmgjN7xeB+2xKLKb qT0n6yPcoNMWCNCnZrZXoTCVvBM0+hMnFqXiAq8TPZp6fTEgWw8k6mY06iSG7V4+P6Kh IBvNd8PbdHVemmzGeAVGvmf4D65JjkM/t8flCg4FXPJ4eNgbFl2oklQMerkcVJXkN3K3 MiIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713793529; x=1714398329; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KeGadjJtuooO4tQOblntBd7fXOkE1JB+uRn8UNDX2nE=; b=C/WX4Wx8l1eAVchEXBKvytbizOS+ec4+O0/Kv3jYsjrOOdztIjo69iYC8z4rZ/PC+F IZyR32HH8x791vTL+KFsYlFuSdi6h67L9vqTLlx9+Z02GeVe97owFDX0Ei5xPdDtGQAg t0DmT4oCKa8AvuDUBbGtXg07AFNzkEGQmSWu6/HSHiG1T8Mov4GpaZCmmWUAnebJLqFx OslA9YFzzIUXrDqFxQOt8RS9v3uTGdcGCfFBHHWsPDhqGs2sY1zQKvUd9Hody4pk1j+L twnKoOqhTtOVrJ0TBCkageWVre6dqylFl7l11n2KpPCyoGL6ZxfVV5pdHgEZIGTzpkBS g78A== X-Forwarded-Encrypted: i=1; AJvYcCVmHP2kWx1kRWHgvnQchun24Z8Tbo4WjQov2Mm30VCd5yoreQgzdevHZFDTqgtttm3kfZiYfyf16VPq9aDWikAZFE8= X-Gm-Message-State: AOJu0YxpXaydrcxa4ewb4NX4Q13b38R72W1wcR0Y++O0FggGYOfJ76MC hUVQsasszQ8RyKZepl/zyEhJngUI8byKyY9OuEIs+eDgBTt8JTzix8m/Tg== X-Google-Smtp-Source: AGHT+IF3njAg34FQAOiOutU+T/lIsS0Bo4U1eUVElS0ODYCgbRbg2Cr6gwRfGByXFoczFgc5k0nWpg== X-Received: by 2002:a5d:5090:0:b0:346:65dd:55e6 with SMTP id a16-20020a5d5090000000b0034665dd55e6mr6713339wrt.1.1713793528794; Mon, 22 Apr 2024 06:45:28 -0700 (PDT) Received: from lili (roam-nat-fw-prg-194-254-61-42.net.univ-paris-diderot.fr. [194.254.61.42]) by smtp.gmail.com with ESMTPSA id b7-20020adff907000000b0034b3394f0e1sm1602225wrr.10.2024.04.22.06.45.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Apr 2024 06:45:28 -0700 (PDT) From: Simon Tournier To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: Leo Famulari , Guix Devel Subject: Re: Adding plumbing subcommand 'derivation'? In-Reply-To: <878r19h2lw.fsf@gnu.org> References: <87ttk6phac.fsf@gmail.com> <8734rpeenm.fsf@gmail.com> <878r19h2lw.fsf@gnu.org> Date: Mon, 22 Apr 2024 02:11:43 +0200 Message-ID: <87o7a26ytc.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=zimon.toutoune@gmail.com; helo=mail-wr1-x42c.google.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DATE_IN_PAST_12_24=1.049, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Spam-Score: -8.69 X-Migadu-Queue-Id: 2F6666DDD8 X-Migadu-Spam-Score: -8.69 X-Migadu-Scanner: mx10.migadu.com X-TUID: 6CNXNeVep00i Hi, On ven., 19 avril 2024 at 16:02, Ludovic Court=C3=A8s wrote: > We should see how that fits into the set of tools we already have, in > particular the (guix derivations) interface and the REPL meta-commands. > > My gut feeling, with a Schemer bias, is that we=E2=80=99d rather enrich t= he > Scheme API and/or REPL than add more commands (this is not Nix :-)). > > But I don=E2=80=99t know, maybe we can have both? Yes, I think that=E2=80=99s orthogonal and a good idea. Maybe a new plumbing generic subcommand, as =E2=80=9Cguix inspect=E2=80=9D = or =E2=80=9Cguix store=E2=80=9D, where showing the fields of a derivation would be a sub-subcommand. For instance, diffing two derivations from the command-line seems helpful when debugging =E2=80=93 I often do that with E= macs exploiting buffer facilities. :-) In addition, it could be helpful to improve the readability for the pretty-printer. Other said, somehow redesign this: --8<---------------cut here---------------start------------->8--- (set-record-type-printer! (lambda (drv port) (format port "# ~a ~a>" (derivation-file-name drv) (string-join (map (match-lambda ((_ . output) (derivation-output-path output)= )) (derivation-outputs drv))) (number->string (object-address drv) 16= )))) --8<---------------cut here---------------end--------------->8--- It looks like a plan. ;-) Cheers, simon