[Top][All Lists]

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

GNU Guile 1.8.2 released

From: Ludovic Courtès
Subject: GNU Guile 1.8.2 released
Date: Mon, 16 Jul 2007 23:48:53 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)

We are pleased to announce GNU Guile release 1.8.2.  This is the next
maintenance release for the 1.8 stable series.

You can find it here:
  SHA1 checksum: b5c624b152a45f302e185e20a468a02f2eb73e38

A GPG detached signature of the package is available at:

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 interpreter for the Scheme programming language, 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 or as a script interpreter, and is also
packaged as a library so that applications can easily incorporate a
complete Scheme interpreter.  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.

This is primarily a bugfix release.  Please see the NEWS file for a
full summary of the changes, but here are the highlights:

  - New procedures (see the manual for details)

    - set-program-arguments
    - make-vtable

  - Incompatible changes

    - The body of a top-level `define' no longer sees the binding being

      In a top-level `define', the binding being created is no longer
      visible from the `define' body.  This breaks code like "(define
      foo (begin (set! foo 1) (+ foo 1)))", where `foo' is now unbound
      in the body.  However, such code was not R5RS-compliant anyway,
      per Section 5.2.1.

  - Bugs fixed

    - Fractions were not `equal?' if stored in unreduced form.

    - srfi-60 `copy-bit' failed on 64-bit systems

    - "guile --use-srfi" option at the REPL can replace core functions
    (Programs run with that option were ok, but in the interactive REPL
    the core bindings got priority, preventing SRFI replacements or

    - `regexp-exec' doesn't abort() on #\nul in the input or bad flags

    - `kill' on mingw throws an error for a PID other than oneself

    - Procedure names are attached to procedure-with-setters

    - Array read syntax works with negative lower bound

    - `array-in-bounds?' fix if an array has different lower bounds on
      each index

    - `*' returns exact 0 for "(* inexact 0)"

    - SRFI-19: Value returned by `(current-time time-process)' was

    - SRFI-19: `date->julian-day' did not account for timezone offset

    - `ttyname' no longer crashes when passed a non-tty argument

    - `inet-ntop' no longer crashes on SPARC when passed an `AF_INET'

    - Small memory leaks have been fixed in `make-fluid' and

    - GOOPS: Fixed a bug in `method-more-specific?'

    - Build problems on Solaris fixed

    - Build problems on HP-UX IA64 fixed

    - Build problems on MinGW fixed

Any bugs found in this release will be addressed by further bugfix
releases numbered 1.8.*.

You can follow Guile development in CVS and on the Guile mailing lists
(see ANON-CVS and HACKING).  Guile builds from the development branch
of CVS will have version number 1.9.0.

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 send bug reports to address@hidden'.

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

reply via email to

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