[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GNU Guile 2.1.8 released (beta)
From: |
Andy Wingo |
Subject: |
GNU Guile 2.1.8 released (beta) |
Date: |
Fri, 10 Mar 2017 14:30:52 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
We are pleased to announce GNU Guile release 2.1.8.
Guile 2.1.8 is the eighth pre-release in what will eventually become the
2.2 release series. We are optimistic that no further pre-releases will
be required. We encourage you to test this pre-release and provide
feedback to address@hidden
This release focuses on portability bugs. There are also a number of
miscellaneous fixes. See the full NEWS below for an incomplete list of
bugs fixed, along with improvements to the GUILE_PROGS macro and the
addition of truly thread-local fluids.
With luck, we will be able to make a stable 2.2.0 release next week, so
do give this tarball a try!
* * *
Guile is an implementation of the Scheme programming language.
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 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.1.8 can be installed in parallel with Guile 2.0.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.1.8.tar.gz (17MB)
http://alpha.gnu.org/gnu/guile/guile-2.1.8.tar.xz (10MB)
Here are the GPG detached signatures[*]:
http://alpha.gnu.org/gnu/guile/guile-2.1.8.tar.gz.sig
http://alpha.gnu.org/gnu/guile/guile-2.1.8.tar.xz.sig
Use a mirror for higher download bandwidth:
http://www.gnu.org/order/ftp.html
Here are the SHA256 checksums:
51f415403e8b44ea42d6ae2cbadf4b06bbe9801e8d1f34afb8f45098abb59a1b
guile-2.1.8.tar.gz
f5080f609123508e722307b8cf3ecbe8f53725bd89d170d3917e718ca1da0966
guile-2.1.8.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.1.8.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
FF478FB264DE32EC296725A3DDC0F5358812F8F2
and rerun the 'gpg --verify' command.
This release was bootstrapped with the following tools:
Autoconf 2.69
Automake 1.15
Libtool 2.4.6
Gnulib v0.1-1157-gb03f418
Makeinfo 6.3
* * *
Changes in 2.1.8 (changes since the 2.1.7 alpha release):
* Notable changes
** Update to latest 2.0 changes
Notably this includes the fix for CVE-2016-8606 and the fix to make
Guile's builds reproducible.
** GUILE_PROGS searches for versioned Guile
The GUILE_PROGS autoconf macro can take a required version argument. As
a new change, that version argument is additionally searched for as a
suffix. For example, GUILE_PROGS(2.2) would look for guile-2.2,
guile2.2, guile-2, guile2, and then guile. The found prefix is also
applied to guild, guile-config, and the like. Thanks to Freja Nordsiek
for this work.
** Add thread-local fluids
Guile now has support for fluids whose values are not captured by
`current-dynamic-state' and not inheritied by child threads, and thus
are local to the kernel thread they run on. See "Thread-Local
Variables" in the manual, for more.
* Bug fixes
** Fix build errors on macOS
** Fix build errors on Cygwin
** Fix build errors with clang
** Fix statprof and gcprof stack narrowing
** Fix errors on platforms with 64 KB pages
** Fix make-polar signedness of zeros
** Fix backtraces in case-lambda with multiple cases
** Fix generic function dispatch with multiple arities
** Fix guild compile --to=cps
** Fix bogus strength reduction on (* -1 x)
** Fix type inference when multiplying flonum with complex
** Fix bug comparing real and complex numbers
** Improve memory use of read-string / get-string-all
** Allow contification within case-lambda
** Relax some constraints for circular module dependencies
** Fix scm_with_guile for threads already known to libgc
** Better errors for keyword arguments missing values (foo #:bar)
** Various manual updates
** Use docstrings instead of comments for many core Guile functions
** Support truncate-file on string ports
** Getting output from R6RS string ports now truncates buffer
** Fix class-allocated GOOPS slots
** Fix tracing/breakpoints (broken in 2.2 since a long time!)
** `select' just returns instead of throwing exception on EINTR
- GNU Guile 2.1.8 released (beta),
Andy Wingo <=