From e07dbc39d8f0384570143bc82d2ebe6f31b04b16 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 24 Nov 2020 09:52:18 -0700 Subject: [PATCH] Chez Scheme: more implementation notes --- racket/src/ChezScheme/IMPLEMENTATION.md | 2 +- racket/src/ChezScheme/README.md | 25 ++++++++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/racket/src/ChezScheme/IMPLEMENTATION.md b/racket/src/ChezScheme/IMPLEMENTATION.md index fe4110bae4..a6659043a1 100644 --- a/racket/src/ChezScheme/IMPLEMENTATION.md +++ b/racket/src/ChezScheme/IMPLEMENTATION.md @@ -1,4 +1,4 @@ -# Getting Started +# Implementation Overview The majority of the Chez Scheme compiler and libraries are implemented in Scheme and can be found in the "s" (for Scheme) subdirectory. The diff --git a/racket/src/ChezScheme/README.md b/racket/src/ChezScheme/README.md index 2163f6ecaf..d5ecbb765b 100644 --- a/racket/src/ChezScheme/README.md +++ b/racket/src/ChezScheme/README.md @@ -57,4 +57,27 @@ starting point. Get started with Chez Scheme by [Building Chez Scheme](BUILDING). -For more information see the [Chez Scheme Project Page](https://cisco.github.io/ChezScheme/). +For more information about the implementation and a guide to modifying +Chez Scheme, see [implementation notes](IMPLEMENTATION.md). + +For more information on Chez Scheme, see the [Chez Scheme Project Page](https://cisco.github.io/ChezScheme/). + +Major additions to Chez Scheme in the Racket variant: + + * AArch64 support + + * pb (Portable bytecode) support, which is mainly useful for + bootstrapping a build on any supported platform + + * Unboxed floating-point arithmetic and flvectors + + * Type reconstruction during optimization (especially for safe code) + + * Continuation attachments + + * Parallel garbage collection, in-place garbage collection for + old-generation objects (instead of always copying), and + reachability-based memory accounting + + * Ordered finalization, immobile (but collectable) objects, and + weak/ephemeron generic hash tables