guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNU Guile 2.1.6 released (beta)


From: Andy Wingo
Subject: GNU Guile 2.1.6 released (beta)
Date: Thu, 19 Jan 2017 03:26:40 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

We are pleased to announce GNU Guile release 2.1.6.

Guile 2.1.6 is the sixth pre-release in what will eventually become the
2.2 release series.  We encourage you to test this release and provide
feedback to address@hidden

This is a bug-fix release, mostly fixing bugs related to threads and
interrupts.  It also includes support for fast floating-point
comparisons; special thanks to new Guile committer David Thompson for
this feature.  See the full NEWS below, for details.

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.1.6 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.6.tar.gz   (18MB)
  http://alpha.gnu.org/gnu/guile/guile-2.1.6.tar.xz   (11MB)

Here are the GPG detached signatures[*]:
  http://alpha.gnu.org/gnu/guile/guile-2.1.6.tar.gz.sig
  http://alpha.gnu.org/gnu/guile/guile-2.1.6.tar.xz.sig

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

Here are the SHA256 checksums:

  6f3f34eb2d4b2c6e458c4103e731ce51479c0a4713cf4cfcc29844ec17f0305f  
guile-2.1.6.tar.gz
  f3c25770a34bdd4391593f793107991a57b88350f2dcb947e9924d6522595d59  
guile-2.1.6.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.6.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-800-g68b6ade
  Makeinfo 6.1


Changes in 2.1.6 (changes since the 2.1.5 alpha release):

* New interfaces
** suspendable-continuation?

This predicate returns true if the delimited continuation captured by
aborting to a prompt would be able to be resumed.  See "Prompt
Primitives" in the manual for more.

** scm_c_prepare_to_wait_on_fd, scm_c_prepare_to_wait_on_cond,
** scm_c_wait_finished

See "Interrupts" in the manual for more.

* Performance improvements

** Support unboxed floating-point comparisons

Thanks to David Thompson for this work.

* Incompatible changes

** Rename new array functions

See "Arrays as arrays of arrays" in the manual for more.

* Bug fixes

** `scm_gc_warn_proc' writes directly to stderr

The garbage collector sometimes has warnings to display to the user.
Before, Guile would see if the current warning port was a file port, and
in that case write the warning to that file, and otherwise default to
stderr.  Now Guile just writes to stderr, fixing a bug where determining
the current warning port would allocate and thus deadlock as the GC
warnings are issued with the GC lock held.

** Fix miscompilation in significant-bits computation for loop vars
** Fix many threading bugs
** Fix macOS portability bugs
Thanks to Matt Wette!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]