GNU bug report logs -
#53878
[PATCH 00/11] Update Racket to 8.4. Adjust Chez Scheme
Previous Next
Full log
Message #339 received at 53878 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
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 (application/pgp-signature, inline)]
This bug report was last modified 2 years and 344 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.