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 guile-devel@gnu.org, along with platform details. You can file a bug by sending mail to bug-guile@gnu.org. 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 http://www.gnu.org/software/guile/manual/html_node/Parallel-Installations.html. A more detailed NEWS summary follows these details on how to get the Guile sources. Here are the compressed sources: http://alpha.gnu.org/gnu/guile/guile-2.9.7.tar.lz (10MB) http://alpha.gnu.org/gnu/guile/guile-2.9.7.tar.xz (12MB) http://alpha.gnu.org/gnu/guile/guile-2.9.7.tar.gz (21MB) Here are the GPG detached signatures[*]: http://alpha.gnu.org/gnu/guile/guile-2.9.7.tar.lz.sig http://alpha.gnu.org/gnu/guile/guile-2.9.7.tar.xz.sig http://alpha.gnu.org/gnu/guile/guile-2.9.7.tar.gz.sig Use a mirror for higher download bandwidth: http://www.gnu.org/order/ftp.html Here are the SHA256 checksums: 035fa486b90768e3a098a59893ff92effae8e4fe495b05801b5f8c057e2d7982 guile-2.9.7.tar.lz 0df059b1b8313a619f48ca35e5b94fdb004f3ec2396e123582833ea190bc53b7 guile-2.9.7.tar.xz 280fc7cc6d48f15a5ef5ff9fa1ca6d42da0ac8153e68c7ac2d52e996fdd36af0 guile-2.9.7.tar.gz [*] 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: Autoconf 2.69 Automake 1.16.1 Libtool 2.4.6 Gnulib v0.1-1157-gb03f418 Makeinfo 6.5 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: