From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id iG6UC1Z8EWJHDAAAgWs5BA (envelope-from ) for ; Sun, 20 Feb 2022 00:25:10 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id aOscCFZ8EWI4YAAAauVa8A (envelope-from ) for ; Sun, 20 Feb 2022 00:25:10 +0100 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 9C5AD42CC6 for ; Sun, 20 Feb 2022 00:25:09 +0100 (CET) Received: from localhost ([::1]:33838 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nLZ6C-0000K1-DV for larch@yhetil.org; Sat, 19 Feb 2022 18:25:08 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41136) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLZ66-0000Jn-1t for guix-patches@gnu.org; Sat, 19 Feb 2022 18:25:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:36787) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nLZ65-0002XM-O5 for guix-patches@gnu.org; Sat, 19 Feb 2022 18:25:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nLZ65-0003lo-JD for guix-patches@gnu.org; Sat, 19 Feb 2022 18:25:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#53878] Fwd: Re: [PATCH v3 09/15] gnu: Add racket-vm-cgc. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 19 Feb 2022 23:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 53878 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 53878@debbugs.gnu.org, Liliana Marie Prikler , Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Philip McGrath , Attila Lendvai , Malte Gerdes , raingloom , zimoun Received: via spool by 53878-submit@debbugs.gnu.org id=B53878.164531307814458 (code B ref 53878); Sat, 19 Feb 2022 23:25:01 +0000 Received: (at 53878) by debbugs.gnu.org; 19 Feb 2022 23:24:38 +0000 Received: from localhost ([127.0.0.1]:58917 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLZ5d-0003l1-SC for submit@debbugs.gnu.org; Sat, 19 Feb 2022 18:24:38 -0500 Received: from new1-smtp.messagingengine.com ([66.111.4.221]:51403) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLZ5c-0003ko-Fr for 53878@debbugs.gnu.org; Sat, 19 Feb 2022 18:24:33 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailnew.nyi.internal (Postfix) with ESMTP id 599CD5801DB; Sat, 19 Feb 2022 18:24:27 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Sat, 19 Feb 2022 18:24:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; bh=qbz51qpnzogMry rm6aBEcZQlu0eirEnZUUSll0RM7lk=; b=Z1PMS4Uk3JJmWHyr7cdZYmt1WOpLAd SOuTWuMM6SXcIS324WxrQo+ml2m8X1773JxxXTCHZ5ScLJQnActuBdERJZqSZcwj wvty5Obn3IyGNdLT2BsoF1+2B8YuY6aGHcTywcugEkhnNVAtZEIuxjxE+h3tfkZm yYgcroAmGMYD/S+KR3KmTWkFgcwVIOcMjA+EHk89UW9P310R63ijImpKyq/I+XWk NaQmKLGc710tOm5+SRj4vFKVVwmQgTxBXX0/osbxhhErnqSSIZJdBgowfp92QDWr IePbcMaKVqwsrkB9E57mCPdxljrhTYqm+h9ahxTjcuWPJLOq98mNjqTg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=qbz51qpnzogMryrm6 aBEcZQlu0eirEnZUUSll0RM7lk=; b=oGqWJukK4YaJS+tbqqYPs+yXsJqnPIxlM f7kDF7vd9E9uRrosdYOeimLYyKr8E3rV3Wpky/cG+iRJ5bnjbXIUQuTiOF06NzpR YCeTVkT8gjMfrp7e7Np3MPWL4202KuMHoizGLU8MxaJHY9t34Bx5fvJhy/VGm/xl dwVcQAEQP9nowv5DdoPBOciE23fp7OUcx1LikVihE7RcVOOU59p7PZx+Gi+btc1j k+i/RA8MGH3WApw3FnIIagUphWWvt0Bfhj0T6WzyRbhRqpelkMV2DHoGGl10i60v KhfsIJT6ZxpbAZlsARzTPbB+WfZLNfevrrROFjfco7o2z7B2gykNQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvvddrkeefgddutdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufffkjghfgggtsehgtderredttdejnecuhfhrohhmpefrhhhilhhiphcu ofgtifhrrghthhcuoehphhhilhhiphesphhhihhlihhpmhgtghhrrghthhdrtghomheqne cuggftrfgrthhtvghrnhepueettdeggeelgfdtgfeigfetvddugefgvedvjeehhfefieff fffggfetleehhefhnecuffhomhgrihhnpehgnhhurdhorhhgpdhrrggtkhgvthdqlhgrnh hgrdhorhhgpdhriehrshdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgr mhepmhgrihhlfhhrohhmpehphhhilhhiphesphhhihhlihhpmhgtghhrrghthhdrtghomh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 19 Feb 2022 18:24:25 -0500 (EST) From: Philip McGrath Date: Sat, 19 Feb 2022 18:24:14 -0500 Message-ID: <2789908.yFRqqTqYmU@bastet> In-Reply-To: <8318672.icPvpm7bSU@bastet> References: <8318672.icPvpm7bSU@bastet> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart65832543.ErJBQUClLv"; micalg="pgp-sha512"; protocol="application/pgp-signature" 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=1645313109; 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: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=qbz51qpnzogMryrm6aBEcZQlu0eirEnZUUSll0RM7lk=; b=axGzegHfESViN1ik520dIHko61ArRNI/sydFvt/vU7GbDeK7cZGo6CJIBHALUUEI8XaSsz KKpM9ULuCEOAQ/Ljx9PUjGyFQlPO3DZz9KmiTIBH6PM/80gzv584Y8iOtKEdMocJDc2ysF dNKULAQXmHXyG8bs9CPSPSXcS9vatSIjzTMMBxJ9j8pYsE3v4QOUI2eYn+PKARkADdBgAV KSM6pr+3GA01S6AsRD9Pji3xKhW1+YkqOlAhdDg14J41b4uqit+BVMBrwTSNn+fYgiHVcE S2azK2E7ta3N9y23Yg3SkHsl9bhHD3OpkBY3b7nGHQZPPGCpqwsO7NNoJsossA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1645313109; a=rsa-sha256; cv=none; b=CjjxjfgQakLFN+d1Pw1Y9SCQqXXcTi9R1xABN2k2d5mHDw13UAy3UTEysm5DhWDOqOXmg/ +q48N7Blx4kJppo6GLDzBQnJl8Onuu3EGVBb+fu8zV9dYtyaZ7xOhBRRPZcyVKLNrn16Ex DllVw+tnUQJs3IPZLzTNRbh87UcQiIEXdN1uHHLxx81FOqwk/k9SX5Qtvte3N+pQYNFxbl 02bEtNw6rC1ShB6LcfIQ5+JjIsHa0utLlNvpCScoKOOLYoHuIvvSqxdKSqBK0f2ujrJriW 4wHnX192A0F3Mf/VlkfkcWF+mq6w9I608Go/RlIvOQb/gTgD7aVBQie9Zgkbow== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=fm1 header.b=Z1PMS4Uk; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm2 header.b=oGqWJukK; 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: -2.33 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=fm1 header.b=Z1PMS4Uk; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm2 header.b=oGqWJukK; 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: 9C5AD42CC6 X-Spam-Score: -2.33 X-Migadu-Scanner: scn1.migadu.com X-TUID: KQW0CujeGaE2 --nextPart65832543.ErJBQUClLv Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8"; protected-headers="v1" From: Philip McGrath To: 53878@debbugs.gnu.org, Liliana Marie Prikler , Ludovic =?ISO-8859-1?Q?Court=E8s?= Cc: Attila Lendvai , Malte Gerdes , zimoun , raingloom , Philip McGrath Subject: Re: Fwd: Re: [PATCH v3 09/15] gnu: Add racket-vm-cgc. Date: Sat, 19 Feb 2022 18:24:14 -0500 Message-ID: <2789908.yFRqqTqYmU@bastet> In-Reply-To: <8318672.icPvpm7bSU@bastet> References: <8318672.icPvpm7bSU@bastet> Hi, On Saturday, February 19, 2022 5:35:22 PM EST Philip McGrath wrote: > On Saturday, February 19, 2022 3:46:47 PM EST you wrote: > > Am Samstag, dem 19.02.2022 um 01:42 -0500 schrieb Philip McGrath: > > > * gnu/packages/patches/racket-enable-scheme-backport.patch: New > > > patch. > > > * gnu/local.mk (dist_patch_DATA): Add it. > > > * gnu/packages/chez-and-racket-bootstrap.scm (unbundle-chez- > > > submodules, > > > %racket-version, %racket-origin, racket-vm-cgc): New variables. > > > (chez-scheme)[source]: Use 'unbundle-chez-submodules'. > >=20 > > Something weird happened to me just now trying to build this series. > > While compiling emacs-xyz, an error was raised regarding %racket- > > version not existing and and import being missing. Assuming that you > > didn't mess up an include somewhere, there could be a cycle meaning > > we'd have to pass the version and origin by function as I originally > > said in my reply to v2. > >=20 > > I'll clean up my work tree and try to reapply it, but that will take > > some time. Since you mentioned re-exports causing issues, I'd like to > > ask if you've made a similar experience, but the results got somehow > > hidden after the right incantations. >=20 > I haven't seen errors from emacs-xyz, but I have gotten errors about > %racket- version not existing: at the time I thought it was just a problem > with incremental rebuilds while moving back and forward through history, > but, having just refreshed my memory on more details of the cyclic issues, > I think it may be related. I'll send another email presently with details > once I've gathered references. >=20 > For now, I found that `rm gnu/packages/*.go` was enough to get `make` to > succeed again. This reminded me of one of the commits I mentioned yesterday in : > commit 96db2ff145ecbd962206eae815b065bda7ed3d9f > Author: Ludovic Court=C3=A8s > Date: Tue Sep 7 15:11:46 2021 +0200 > > gnu: racket-minimal: Remove top-level reference to 'chez-scheme'. > > This could cause build errors; for instance, doing: > make && touch gnu/packages/chez.scm && make > > would trigger a "chez-scheme: unbound variable" error. > > * gnu/packages/racket.scm (racket-minimal)[source]: Add 'modules' > field. In 'snippet', remove top-level reference to CHEZ-SCHEME, which > could cause build errors. Simplify snippet. That symptom of an unbound variable error on re-making sounds like what's=20 going on. In , Ludo=E2=80=99 explained: On Monday, May 31, 2021 12:23:27 PM EST Ludovic Court=C3=A8s wrote: > Philip McGrath skribis: > > On 5/29/21 4:15 PM, Ludovic Court=C3=A8s wrote: > >> In general we cannot use #:select for (gnu packages =E2=80=A6) modules= because > >> that doesn=E2=80=99t play well with circular module dependencies. > >=20 > > Ah, interesting, I'll keep that in mind. I'm used to Racket, where all > > cyclic module dependencies cause errors at compile time. >=20 > Yeah, in hindsight, that=E2=80=99s probably safer=E2=80=A6 >=20 > > Do you have any advice on what would be good practice? >=20 > For package modules, the main things are: >=20 > 1. Don=E2=80=99t use #:select or #:autoload for (gnu packages =E2=80=A6= ) modules in a > (gnu packages =E2=80=A6) module. >=20 > 2. At the top level of a module, only refer to variables within that > module. For instance, the following would be wrong: >=20 > (define-module (gnu packages racket) > #:use-module (gnu packages chez) > =E2=80=A6) >=20 > (define whatever > ;; Wrong because =E2=80=98chez-scheme=E2=80=99 is defined in ano= ther module, > ;; which might be part of a cycle with this one. > (package (inherit chez-scheme) =E2=80=A6)) >=20 > (define something > (package > ;; =E2=80=A6 > (license (package-license chez-scheme)))) ;likewise >=20 > Note that references from =E2=80=98inputs=E2=80=99 and =E2=80=98arguments= =E2=80=99 fields are perfectly > fine (fortunately!) because those fields are =E2=80=9Cthunked=E2=80=9D (t= heir value is > wrapped in a thunk). >=20 My understanding of the semantics of Guile modules is strictly less than th= e=20 content of that thread. I'm most familiar with Racket modules, and I have s= ome=20 understanding of how those semantics differ from R6RS library semantics. I think I had seized in my memory of =E2=84=96 2 on "at the top level of a= module",=20 and I'd filled in my usual (Racket) understanding of "at the top level of a= =20 module" as a less formal way of saying "in a module context", in the sense = of=20 "expansion contexts".[1] But Ludo=E2=80=99's examples show that's wrong: those uses of `chez scheme= ` are in=20 what the "expansion contexts" model would call "expression contexts". Instead, I think rule =E2=84=96 2 prohibits any reference to a variable imp= orted from=20 another (gnu packages ...) module that will be evaluated when the (gnu=20 packages ...) modules are=E2=80=94visited? instantiated? [2][3]=E2=80=94IDK= when exactly, but,=20 for practical purposes, any variable reference that is not underneath a lam= bda=20 abstraction. If that's right, IIUC, it would mean that: (define chez-scheme-for-racket (make-chez-scheme-for-racket ...)) would also be prohibited. On the other hand, uses of `(racket-vm-for-system)` and `(chez-scheme-for- system)` in an `imports` field should still be fine, thanks to the implicit= =20 thunks. I think I can can make that work relatively well. The one thing I don't kno= w=20 how to avoid is defining `%racket-version` in both "chez-and-racket- bootstrap.scm" and "racket.scm", but I'll leave a cautionary comment. I'll try to make a v4 with the approach I have in mind. I'd be glad to hear= =20 better ideas, though! Especially if anyone knows more about what Guile's=20 module semantics really are. =2DPhilip [1]: https://docs.racket-lang.org/reference/syntax-model.html#%28part._expa= nd-context-model%29 [2]: http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-10.html#node_sec_7.2 [4]: https://docs.racket-lang.org/reference/syntax-model.html#%28part._mod-= parse%29 --nextPart65832543.ErJBQUClLv Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE9GWrrNY3rqwUFVXPygNjjfo/HHoFAmIRfB4ACgkQygNjjfo/ HHqoQBAAtF4TgTfb+ApUlglKEnksKiAfP5D/m37wOXCzpMsu69guThVzEYr5kljG lFT5c2OrfQ6FnD7l5u1uCui4Pw1Rf4yUqZCFxh/xnrZA47x7CPOb2h/jYKfOoQzL P2xsyHpLgwdNf35D21nZu/ocvOnmDQ88wQWSWiIqc14SGae/5VdVyp2qfKgtGduM 2lf1YsGGNzUTxI6D1/7jONhhX1UJxDSvldQYRbmPcrCUawbtfv3dmiAL3KlTJ6F6 dfnyMerSyCnfvJ5WhsJEgZkWMaNJgFAYdq5W4gRs7uI2D4LUKt2v8r6iD3Q3Eh4B PSrgVmPmRazQqzl5KUwzbfDCKuMvRngBKbpfiXyoaUHuyUJWOZCYTtXPkPp/koPM GYceK9n0BmzqDSBMrXIGc27dmZvQKwGOkQALrwXR2BVqW1DQbqOTP1d+iIqmYgLU 0WiiuP8RwfpMQ2yxXdpyGGJwz0NoLz8fCxTRYPVr7Gvv+msz8LKTUNnxF4thFzAH /Ur/nvlammPfdbEehE6mMLBgMAaiA4EucaaO9i9EO1i5UCKnEPqeaMipBQiLO2P+ HR9XcXRru9nAk/EvuqTUWeMFfqlijiRvAob2R/DzrU6H6dMU3RgT8Vo3LD4/pLPQ We3mXQB/wvpekRwJBSQg8TjtoomIwmr/0TepqGRDAIoUY3yu6BM= =rbYl -----END PGP SIGNATURE----- --nextPart65832543.ErJBQUClLv--