[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#53878] [PATCH v3 09/15] gnu: Add racket-vm-cgc.
From: |
Philip McGrath |
Subject: |
[bug#53878] [PATCH v3 09/15] gnu: Add racket-vm-cgc. |
Date: |
Sun, 20 Feb 2022 09:09:36 -0500 |
Hi,
On Sunday, February 20, 2022 4:03:26 AM EST Liliana Marie Prikler wrote:
> So here's my suggestion:
>
> Inside chez-and-racket-bootstrap, define (make-<package>) functions for
> the following:
> - chez-bootstrap-bootfiles, chez-for-racket-bootstrap-bootfiles:
> Taking version and origin.
> - racket-vm-cgc: Taking version and origin.
> - racket-vm-bc: Taking racket-vm-cgc.
> - racket-vm-cs: Taking racket-vm-bc.
>
> Inside chez, define chez-scheme, as well as non-bootstrapped versions
> of stex et al.
> Also define make-chez-scheme-for-racket, taking version and origin as
> parameter. Finally, define chez-scheme-for-system, which uses
> (resolve-interface '(gnu packages racket)) to get racket's version and
> origin.
>
> Inside racket, define %racket-version, %racket-origin, racket-minimal
> and racket. It'd also be good if you made local definitions
> (define racket-vm-cgc (make-racket-vm-cgc %racket-version %racket-
> origin))
> (define racket-vm-bc (make-racket-vm-bc racket-vm-cgc))
> ...
> in this file.
My understanding—which is not very good!—is that this would have the same
problem we do currently. It would be analogous to my example from
<https://issues.guix.gnu.org/53878#93>:
> But Ludo’'s examples show that's wrong: those uses of `chez scheme` are in
> what the "expansion contexts" model would call "expression contexts".
>
> Instead, I think rule № 2 prohibits any reference to a variable imported
> from
> another (gnu packages ...) module that will be evaluated when the (gnu
> packages ...) modules are—visited? instantiated? [2][3]—IDK when exactly,
> but, for practical purposes, any variable reference that is not underneath
> a lambda 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
> thunks.
The reference to `make-chez-scheme-for-racket` or `make-racket-vm-cs` or any
such procedure defined in "chez-and-racket-bootstrap.scm" would be evaluated
when "racket.scm" is instantiated—or whenever precisely it is that causes the
problem.
-Philip
signature.asc
Description: This is a digitally signed message part.
- [bug#53878] [PATCH v3 02/15] gnu: chez-scheme: Use "lib/chez-scheme" for search path., (continued)
- [bug#53878] [PATCH v3 02/15] gnu: chez-scheme: Use "lib/chez-scheme" for search path., Philip McGrath, 2022/02/19
- [bug#53878] [PATCH v3 03/15] gnu: chez-scheme: Use shared zlib and lz4., Philip McGrath, 2022/02/19
- [bug#53878] [PATCH v3 10/15] gnu: Add racket-vm-bc., Philip McGrath, 2022/02/19
- [bug#53878] [PATCH v3 06/15] gnu: Add stex., Philip McGrath, 2022/02/19
- [bug#53878] [PATCH v3 07/15] gnu: Add chez-nanopass., Philip McGrath, 2022/02/19
- [bug#53878] [PATCH v3 12/15] gnu: Add racket-vm-cs., Philip McGrath, 2022/02/19
- [bug#53878] [PATCH v3 05/15] gnu: chez-scheme: Use new package style., Philip McGrath, 2022/02/19
- [bug#53878] [PATCH v3 09/15] gnu: Add racket-vm-cgc., Philip McGrath, 2022/02/19
- [bug#53878] [PATCH v3 09/15] gnu: Add racket-vm-cgc., Liliana Marie Prikler, 2022/02/19
- Message not available
- [bug#53878] [PATCH v3 09/15] gnu: Add racket-vm-cgc., Liliana Marie Prikler, 2022/02/20
- [bug#53878] [PATCH v3 09/15] gnu: Add racket-vm-cgc.,
Philip McGrath <=
- [bug#53878] [PATCH v3 09/15] gnu: Add racket-vm-cgc., Liliana Marie Prikler, 2022/02/20
- [bug#53878] [PATCH v3 09/15] gnu: Add racket-vm-cgc., Philip McGrath, 2022/02/20
- [bug#53878] [PATCH v3 09/15] gnu: Add racket-vm-cgc., Liliana Marie Prikler, 2022/02/20
- [bug#53878] [PATCH v3 09/15] gnu: Add racket-vm-cgc., Philip McGrath, 2022/02/23
- [bug#53878] [PATCH v3 09/15] gnu: Add racket-vm-cgc., Liliana Marie Prikler, 2022/02/23
- [bug#53878] [PATCH v3 09/15] gnu: Add racket-vm-cgc., zimoun, 2022/02/24
[bug#53878] [PATCH v3 11/15] gnu: Add chez-scheme-for-racket., Philip McGrath, 2022/02/19
[bug#53878] [PATCH v3 04/15] gnu: chez-and-racket-bootstrap: Add utilities for Chez machine types., Philip McGrath, 2022/02/19
[bug#53878] [PATCH v3 08/15] gnu: chez-scheme: Explicitly package bootstrap bootfiles., Philip McGrath, 2022/02/19
[bug#53878] [PATCH v3 13/15] gnu: chez-mit: Support chez-scheme-for-racket., Philip McGrath, 2022/02/19