unofficial mirror of 
 help / color / mirror / Atom feed
* GNU Guile 3.0.1 released
@ 2020-03-08 16:11 Ludovic Courtès
  0 siblings, 0 replies; only message in thread
From: Ludovic Courtès @ 2020-03-08 16:11 UTC (permalink / raw)
  To: guile-user, guile-devel, guile-sources, info-gnu

[-- Attachment #1: Type: text/plain, Size: 6161 bytes --]

We are delighted to announce GNU Guile release 3.0.1, the first bug-fix
release of the new 3.0 stable series.  This release represents 45
commits by 7 people since version 3.0.0.  See the NEWS excerpt that
follows for full details.

                             *  *  *

The Guile web page is located at, 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, packaged
for use in a wide variety of environments.  In addition to implementing
the R5RS, R6RS, and R7RS Scheme standards, Guile includes full access to
POSIX system calls, networking support, multiple threads, dynamic
linking, a foreign function call interface, powerful string processing,
and HTTP client and server implementations.

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 3.0.0 can be installed in parallel with Guile 2.2.x; see

                             *  *  *

Changes in 3.0.1 (since 3.0.0):

* New interfaces and functionality

** Export constructor and predicate for '&quit-exception'

The (ice-9 exceptions) module, new in 3.0.0, now exports
'quit-exception?' and 'make-quit-exception', which is consistent with
other exception types.

** (texinfo plain-text) now exports '*line-width*' fluid

The new '*line-width*' fluid allows users to specify the width of a line
for the purposes of line wrapping.  See "texinfo plain-text" in the

** R7RS support recognizes the '.sld' extension

The '.sld' is what the R7RS suggests as a source file name extension.
It is now recognized when running "guile --r7rs", as well as
the '.guile.sld' extension.

* Bug fixes

** 'hash' correctly handles keywords, ports, hash tables, etc.

It used to be that the 'hash' procedure would return the same value for
all keyword objects, the same value for all hash tables, the same value
for all input ports, etc.

** 'include' no longer rejects relative file names

A bug in 3.0.0 would lead 'include' to error out when passed a relative
file name.

** Reduce GC pressure when using bignums

Guile no longer installs a finalizer on each bignum (large integer) it
creates.  This significantly improves speed and memory usage on
applications that make heavy use of bignums, such as the compiler

** Fix expansion of 'error' calls with a non-constant argument

Calls to the 'error' primitive with a non-constant argument, as in
(error message), would be incorrectly expanded by the compiler, leading
to non-printable errors ("Error while printing exception").

** Improve source location information for top-level references

Source location information, as is visible upon "unbound variable"
errors, is now more accurate.

** Web client treats TLS "premature termination" error as EOF

This allows 'http-request' from (web client) to gracefully handle
servers that terminate connections abruptly after responding to a
"Connection: close" request.

** Fix bug restoring a JIT continuation from the interpreter

** Export C symbols 'scm_sym_lambda', 'scm_sym_quote', etc. again

Those C symbols were inadvertently made private in 3.0.0.

** Fix build on IA64 and on platforms where the stack grows upwards

** Fix JIT compilation on 64-bit Cygwin

** texinfo properly renders @acronym in plain text

** Compiler now optimizes (logior 0 INT)

** Fix Readline configure check for the sake of libedit

This fixes builds on macOS against the system-provided libedit.

** Provided 'GUILE_PKG' Autoconf macro now detects Guile 3.0

                             *  *  *

Here are the compressed sources:   (21MB)   (11MB)   (13MB)

Here are the GPG detached signatures[*]:

Use a mirror for higher download bandwidth:

Here are the SHA256 checksums:

  c83659e515c97270c0647b34470092a109a3609124c9e86dbef53db7f7d1d7ec  guile-3.0.1.tar.gz
  756279560e1d634a1ff1cb368379f2aa14206b65841a0323514b71d1269aaa94  guile-3.0.1.tar.lz
  d696ead0fd138cc7ef883b50cc6b4be2898d18ff64bd1e9379081e1186be53c9  guile-3.0.1.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-3.0.1.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 \
      --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.7
  Gnulib v0.1-1157-gb03f418

Happy hacking with Guile!

Ludovic Courtès and Andy Wingo.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-03-08 16:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-08 16:11 GNU Guile 3.0.1 released Ludovic Courtès

unofficial mirror of 

This inbox may be cloned and mirrored by anyone:

	git clone --mirror guile-devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guile-devel guile-devel/ \
	public-inbox-index guile-devel

Example config snippet for mirrors.
Newsgroups are available over NNTP:

AGPL code for this site: git clone http://ou63pmih66umazou.onion/public-inbox.git