[Top][All Lists]

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

GNU Guile 1.9.13 released (beta)

From: Ludovic Courtès
Subject: GNU Guile 1.9.13 released (beta)
Date: Sun, 17 Oct 2010 15:03:17 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

We are pleased to announce GNU Guile release 1.9.13.  This may be the
last pre-release before the 2.0 release.

It provides many new noteworthy features, most notably the addition of a
compiler and virtual machine.  We encourage you to test them and provide
feedback to address@hidden'.

The Guile web page is located at, and
among other things, it contains a link to the Guile FAQ and pointers to
the mailing lists.

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 and
a large subset of R6RS, 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

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.

Here are the compressed sources:   (5.1MB)

Here are the GPG detached signatures[*]:

To reduce load on the main server, use a mirror listed at:

Here are the MD5 and SHA1 checksums:

ac10b460d006fd1b7a95286d14f6d4cf  guile-1.9.13.tar.gz
e8067a26aa2d01a856c0cd5bc73e7e8b4fa6429a  guile-1.9.13.tar.gz

[*] You can use either of the above signature files 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-1.9.13.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 EA52ECF4

and rerun the `gpg --verify' command.

This release was bootstrapped with the following tools:
  Autoconf 2.68
  Automake 1.11.1
  Libtool 2.2.6b
  Gnulib v0.0-4219-g84cdd8b

This is a new release series with many new features and differences
compared to 1.8.  The complete list of changes compared to the 1.8.x
series is available in the `NEWS' file.

Changes since the 1.9.12 pre-release:

  ** SRFI support

  The following SRFIs have been added:

  - SRFI-27 "Sources of Random Bits"
  - SRFI-42 "Eager Comprehensions"
  - SRFI-45 "Primitives for Expressing Iterative Lazy Algorithms"
  - SRFI-67 "Compare Procedures"

  Thanks to Andreas Rottmann.

  ** (system foreign) API changes

  The `make-foreign-function' procedure was renamed to

  ** (system xref) source database

  The `(system xref)' module can now map from source locations to
  procedures. See the `source-procedures' and `source-closures' functions.

  ** New procedures: `scm_to_latin1_stringn', `scm_from_latin1_stringn'

  Use these procedures when you know you have latin1-encoded or
  ASCII-encoded strings.

  ** New procedures: `scm_to_stringn', `scm_from_stringn'

  Use these procedures if you want to encode or decode from a particular

  ** Removed support shlibs for SRFIs 1, 4, 13, 14, and 60

  Though these SRFI support libraries did expose API, they encoded a
  strange version string into their library names.  That version was never
  programmatically exported, so there was no way people could use the

  This was a fortunate oversight, as it allows us to remove the need for
  extra, needless shared libraries --- the C support code for SRFIs 4, 13,
  and 14 was already in core --- and allow us to incrementally return the
  SRFI implementation to Scheme.

  ** Simplifications to the set of low-level hooks exported by the VM

  See "VM Hooks" in the manual, for more information.

  ** New traps system

  See "Traps" in the manual, for more information.

  ** Breakpoints, tracepoints and source stepping now available at the REPL

  See "Interactive Debugging" in the manual, for more information.

  The new REPL commands are: break, break-at-source, tracepoint, traps,
  delete, disable, enable, step, step-instruction, next, next-instruction,
  finish, and registers.

  ** Remove obsolete debug-options

  Removed `breakpoints', `trace', `procnames', `indent', `frames',
  `maxdepth', and `debug' debug-options.

  ** Remove obsolete print-options

  The `source' and `closure-hook' print options are obsolete, and have
  been removed.

  ** Remove obsolete read-options

  The "elisp-strings" and "elisp-vectors" read options were unused and
  obsolete, so they have been removed.

  ** Remove eval-options and trap-options

  Eval-options and trap-options are obsolete with the new VM and

  ** Remove (ice-9 debugger) and (ice-9 debugging)

  See "Traps" and "Interactive Debugging" in the manual, for information
  on their replacements.

  ** Remove the GDS Emacs integration

  See "Using Guile in Emacs" in the manual, for info on how we think you
  should use Guile with Emacs.

  ** Remove vm-version, vm options

  These procedures introduced during the 1.9 series had no effect.

  ** Add `call-with-vm' and ability to set VM engine

  `call-with-vm' applies a procedure to arguments in a context in which a
  given VM is current.

  `set-vm-engine!' can be used to specify the engine for a VM, which will
  become current at the next `call-with-vm' invocation.

  ** Default to "regular" VM engine for noninteractive use

  The "debug" engine is used when the user specifies --debug, or when
  running interactively. A debug VM allows hooks to run; see "VM Hooks" in
  the manual.

  ** `backtrace' debug option on by default

  Given that Guile 2.0 can always give you a backtrace, backtraces are now
  on by default.

  ** `turn-on-debugging' deprecated

  ** New compilation warning: `-Wformat'

  The `-Wformat' warning can indicate a number of common format string
  errors.  See "Compilation" in the manual, for more information.

  ** Add `(system repl server)' module and `--listen' command-line argument

  The `(system repl server)' module exposes procedures to listen on
  sockets for connections, and serve REPLs to those clients.  The --listen
  command-line argument allows any Guile program to thus be remotely

  See "Invoking Guile" for more information on `--listen'.

  ** Big manual updates

  The GOOPS documentation got a lot of attention this cycle, as well as
  the sections on interactive use and debugging.  We don't know of any
  sections of the manual that are out-of-date at this point.

  ** And of course, the usual collection of bugfixes

  Interested users should see the ChangeLog for more information.

You can follow Guile development in the Git repository and on the Guile
mailing lists.  Guile builds from the `master' branch of Git have
version number 1.9.x.

Guile versions with an odd middle number, e.g., 1.9.*, are unstable
development versions.  Even middle numbers indicate stable versions.
This has been the case since the 1.3.* series.

Please report bugs to address@hidden'.  We also welcome reports of
successful builds, which can be sent to the same email address.

Ludovic Courtès, on behalf of the Guile team.

Attachment: pgp8sPBx65QfQ.pgp
Description: PGP signature

reply via email to

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