all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Philip McGrath <philip@philipmcgrath.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 46865-done@debbugs.gnu.org
Subject: [bug#46865] [PATCH] gnu: racket: update to 8.0.
Date: Fri, 5 Mar 2021 08:35:52 -0500	[thread overview]
Message-ID: <d01e74c9-b927-41a1-e7c2-4241d5e28783@philipmcgrath.com> (raw)
In-Reply-To: <87czwdlt1m.fsf@gnu.org>

Hi!

On 3/5/21 6:49 AM, Ludovic Courtès wrote:
> I applied it and tweak the commit log to mention the fields that were
> changed.  The new synopsis and description LGTM!

That's great!

> Did you try unbundling Chez?  It would be great if we could do that.
> (In Guix we unbundle software as much as possible, notably for security
> reasons.)

The Racket fork of Chez Scheme has diverged significantly from upstream.
Racket regularly syncs with upstream Chez and contributes patches back, 
but they are likely to coexist as two different "flavors" of Chez for 
the foreseeable future. There's a detailed (though almost two-year-old) 
review of the differences in their ICFP report[1]. In essence, some of 
Racket's "changes to Chez Scheme are either controversial or heavyweight 
compared to the expected benefit for applications other than Racket". 
You can see how one controversial pull request[2] became a Flatt and 
Dybvig 2020 PLDI paper.[3] At this point, for example, Racket's Chez has 
gained an Aarch64 backend, floating-point unboxing, and a 
type-reconstruction compiler pass.

So, no, I don't think there's a prospect of unbundling Chez.

On the other hand, since sending this patch, I saw that much of the work 
Guix and Nix had to do with around absolute paths could be better 
addressed upstream. Racket has merged my fixes for most of them[4] (and 
Matthew solved another in C [5]), which means we can greatly simplify 
the package definition. I hope to get those fixes into upstream Chez, too.

I do think I should be able to unbundle Nanopass, as the Chez Guix 
package does.

Just now I've been working on bootstrapping. Chez has the usual problem 
that you need the old version of Chez (specifically "bootfiles") to 
compile the new version. Racket's fork added an architecture-independent 
backend: those bootfiles are in the source distribution, which are how 
the Guix package is building now. But Racket is also able to simulate 
enough of Chez to (slowly) compile the Chez compiler, providing a path 
to Chez from just a C compiler. Racket does its whole bootstrapping 
process regularly in CI, and I'm working on getting the Guix package to 
do likewise.

(I knew from previous discussions that Racket on Guix could benefit from 
some attention, so I'm hoping to use it as an opportunity to learn more 
about Guix.)

-Philip

[1]: https://www.cs.utah.edu/plt/publications/icfp19-fddkmstz.pdf
[2]: https://github.com/cisco/ChezScheme/pull/336
[3]: https://www.cs.utah.edu/plt/publications/pldi20-fd.pdf
[4]: https://github.com/racket/racket/pull/3710
[5]: 
https://github.com/mflatt/racket/commit/7319a22ed605fb3110b98f6c9aa1e8ed3aa03794




  reply	other threads:[~2021-03-05 13:37 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-02  0:43 [bug#46865] [PATCH] gnu: racket: update to 8.0 Philip McGrath
2021-03-03 15:06 ` Philip McGrath
2021-03-05 11:49 ` bug#46865: " Ludovic Courtès
2021-03-05 13:35   ` Philip McGrath [this message]
2021-03-05 16:06     ` [bug#46865] " Jack Hill
2021-03-08 14:33     ` Ludovic Courtès
2021-03-05 13:49   ` Christopher Lemmer Webber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d01e74c9-b927-41a1-e7c2-4241d5e28783@philipmcgrath.com \
    --to=philip@philipmcgrath.com \
    --cc=46865-done@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.