GNU bug report logs - #55248
[PATCH 0/7] gnu: Update Racket to 8.5 and Chez Scheme to 9.5.8.

Previous Next

Package: guix-patches;

Reported by: Philip McGrath <philip <at> philipmcgrath.com>

Date: Tue, 3 May 2022 18:32:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Liliana Marie Prikler <liliana.prikler <at> ist.tugraz.at>
To: Philip McGrath <philip <at> philipmcgrath.com>, 55248 <at> debbugs.gnu.org
Cc: Maxime Devos <maximedevos <at> telenet.be>, Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: [bug#55248] [PATCH v3 7/9] gnu: chez-upstream-features-for-system: Improve implementation.
Date: Mon, 09 May 2022 09:41:35 +0200
Am Montag, dem 09.05.2022 um 03:20 -0400 schrieb Philip McGrath:

> On 5/9/22 02:21, Liliana Marie Prikler wrote:
> > As far as I can see, we have a bijection between *supported nix
> > systems* and chez-machines, with the *behaviour when looking up
> > unsupported systems* being *undefined*.
> I think a bijection happens to exist at the moment, but only by 
> accident. 
Emphasis mine.  Look more closely, it's a bijection + undefined, where
undefined falls outside the realm of what should be reached outside of
supported-system queries.  In short, the specification for nix-system-
>chez-machine is that for every *supported system* it returns the chez
machine as a string.  Otherwise, it may return a string or #f, we don't
care.  Thus, nix-system->chez-machine can serve as an upper bound for
supported-system, but not as its implementation.

> For example, while it isn't packaged for Guix, apparently 
> aarch64-w64-mingw32 is a thing. Racket's Chez Scheme only added
> tarm64nt support as of this release, but had previously supported
> aarch64 with other kernels and the NT kernel with other
> architectures. If Guix had added that system before Racket's Chez
> did, 'nix-system->chez-machine'  would have known how to write it as
> a Chez machine type, but nonetheless it wouldn't have had a native
> code backend.
That's irrelevant and not the purpose for having a conversion function.

> We explicitly list the systems for which Racket's Chez has a native
> code backend in '%chez-features-table',
Do we really?

> I think we should just use it, rather than try to be clever with
> 'nix-system->chez-machine'.
Well, that depends on what you're trying to use it for.  Determining
features?  Sure.  Determining system support?  Okay.  But that doesn't
mean there's no valid use for nix-machine->chez-system – in particular
I think you over-eagerly removed a valid one earlier.

Cheers




This bug report was last modified 3 years and 13 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.