We are pleased to announce GNU Guile release 2.9.7. This is the seventh
and hopefully next-to-last pre-release of what will eventually become
the 3.0 release series.
Compared to the current stable series (2.2.x), the future Guile 3.0 adds
support for just-in-time native code generation, speeding up all Guile
programs. See the NEWS extract at the end of the mail for full details.
Compared to the previous prerelease (2.9.6), Guile 2.9.7 improves the
quality of native code generation, and fixes a bug that prevented a
timely switch from the interpreter to native code. A performance
comparison is further down in this mail.
The current plan is to make another prerelease (2.9.8) on 3 January
2020, and 3.0.0 on 17 January 2020. It's a good time to test the
prereleases to make sure they work on your platform. Please send any
build reports (success or failure) to address@hidden, along with
platform details. You can file a bug by sending mail to
The Guile web page is located at http://gnu.org/software/guile/, and
among other things, it contains a copy of the Guile manual and pointers
to more resources.
Guile is an implementation of the Scheme programming language, with
support for many SRFIs, packaged for use in a wide variety of
environments. In addition to implementing the R5RS Scheme standard,
Guile includes a module system, full access to POSIX system calls,
networking support, multiple threads, dynamic linking, a foreign
function call interface, and powerful string processing.
Guile can run interactively, as a script interpreter, and as a Scheme
compiler to VM bytecode. It is also packaged as a library so that
applications can easily incorporate a complete Scheme interpreter/VM.
An application can use Guile as an extension language, a clean and
powerful configuration language, or as multi-purpose "glue" to connect
primitives provided by the application. It is easy to call Scheme code
From C code and vice versa. Applications can add new functions, data
types, control structures, and even syntax to Guile, to create a
domain-specific language tailored to the task at hand.
Guile 2.9.7 can be installed in parallel with Guile 2.2.x; see
A more detailed NEWS summary follows these details on how to get the
Here are the compressed sources:
Here are the GPG detached signatures[*]:
Use a mirror for higher download bandwidth:
Here are the SHA256 checksums:
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify guile-2.9.7.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys 4FD4D288D445934E0A14F9A5A8803732E4436885
and rerun the 'gpg --verify' command.
This release was bootstrapped with the following tools:
The NEWS extract follows, but as a present for having read down this
far, here's a comparison of some microbenchmark results between Guile
2.2.6 and Guile 2.9.7: