[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GNU Guile 1.9.13 released (beta)
GNU Guile 1.9.13 released (beta)
Sun, 17 Oct 2010 15:03:17 +0200
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 http://gnu.org/software/guile/, 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:
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:
[*] 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 keys.gnupg.net --recv-keys EA52ECF4
and rerun the `gpg --verify' command.
This release was bootstrapped with the following tools:
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
** 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
** 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
** `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.
Description: PGP signature
- GNU Guile 1.9.13 released (beta),
Ludovic Courtès <=