We are delighted to announce GNU Guile release 2.2.4, the fourth bug-fix
release in the 2.2 stable release series.  See the NEWS excerpt that
follows for full details.

                             *  *  *

Guile is an implementation of the Scheme programming language.

The Guile web page is located at https://gnu.org/software/guile/, and
among other things, it contains a copy of the Guile manual and pointers
to more resources.

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 implements many common Scheme standards, including R5RS, R6RS, and
a number of SRFIs.  In addition, Guile includes its own module system,
full access to POSIX system calls, networking support, multiple threads,
dynamic linking, a foreign function call interface, and powerful string
processing.

Guile 2.2.4 can be installed in parallel with Guile 2.0.x; see
https://www.gnu.org/software/guile/manual/html_node/Parallel-Installations.html.

                             *  *  *

Changes in 2.2.4 (since 2.2.3):

* New interfaces and functionality

** SRFI-71 (Extended LET-syntax for multiple values)

Guile now includes SRFI-71, which extends let, let*, and letrec to
support assigning multiple values.  See "SRFI-71" in the manual for
details.

** (web client) export 'http-request' procedure

The 'http-request' procedure is the generalized procedure underneath
'http-get', 'http-post', etc.

** GDB support now registers the 'guile-backtrace' GDB command

The 'guile-backtrace' GDB command displays a backtrace of the VM stack
for the current thread.

** Recognize RISC-V compilation targets in (system base target)

* Bug fixes

** Fix stack-marking bug affecting multi-threaded programs
   (<https://bugs.gnu.org/28211>)

** Add missing SYNC_IP calls in the VM

These could cause multi-threaded code to crash.

** Fix multi-threaded access to modules
   (<https://bugs.gnu.org/30602>, <https://bugs.gnu.org/31879>,
    and <https://bugs.gnu.org/31878>)

** (ice-9 match) now has better documentation

** 'get-bytevector-n' and 'get-bytevector-n!' can now read more than 4 GB

** Fix cross-compilation support for elisp

** Fix error reporting in 'load-thunk-from-memory'

** Fix GOOPS 'instance?' to work on objects that aren't structs
   (<https://bugs.gnu.org/31606>)

** Fix type inference for bitwise logical operators
   (<https://bugs.gnu.org/31474>)

** Avoid inexact arithmetic in the type inferrer for 'sqrt'

** Fix floating point unboxing regression in 2.2.3
   (<https://bugs.gnu.org/30020>)

** Fix eta-conversion edge cases in peval (<https://bugs.gnu.org/29520>)

** Correctly interpret SRFI-18 timeout parameters
   (<https://bugs.gnu.org/29704>)

** 'select' returns empty sets upon EINTR and EAGAIN
   (<https://bugs.gnu.org/30368>)

** Restore pre-2.2.3 '%fresh-auto-compile' behavior

This reverts an incorrect fix for <https://bugs.gnu.org/29226>.

                             *  *  *

Here are the compressed sources:
  https://ftp.gnu.org/gnu/guile/guile-2.2.4.tar.gz   (18MB)
  https://ftp.gnu.org/gnu/guile/guile-2.2.4.tar.lz   (9MB)
  https://ftp.gnu.org/gnu/guile/guile-2.2.4.tar.xz   (11MB)

Here are the GPG detached signatures[*]:
  https://ftp.gnu.org/gnu/guile/guile-2.2.4.tar.gz.sig
  https://ftp.gnu.org/gnu/guile/guile-2.2.4.tar.lz.sig
  https://ftp.gnu.org/gnu/guile/guile-2.2.4.tar.xz.sig

Use a mirror for higher download bandwidth:
  https://www.gnu.org/order/ftp.html

Here are the SHA256 checksums:

33b904c0bf4e48e156f3fb1d0e6b0392033bd610c6c9d9a0410c6e0ea96a3e5c  
guile-2.2.4.tar.gz
b72724cb59d4cc1eed005a10a960831efe0f1f7bf17cc6a88fbfab0a48b4bf5c  
guile-2.2.4.tar.lz
d9e8b94af7b206fcf52bec6501b921bd7d0bd7a31fb7e896a35ba8253678e31e  
guile-2.2.4.tar.xz

[*] 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.2.4.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 
3CE464558A84FDC69DB40CFB090B11993D9AEBB5

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
  Makeinfo 6.5
  Gnulib v0.1-1157-gb03f418

Thanks to Arun Isaac, Christopher Lemmer Webber, Jan Smydke, and
Shea Levy who all contributed to this release.

Happy hacking with Guile,

Andy Wingo, Ludovic Courtès, and Mark H Weaver.

Attachment: signature.asc
Description: PGP signature

-- 
If you have a working or partly working program that you'd like
to offer to the GNU project as a GNU package,
see https://www.gnu.org/help/evaluation.html.

Reply via email to