Guile

The GNU extension language

News


What's the latest news?

2014-03-20
GNU Guile 2.0.11 released. This is the next maintenance release for the 2.0.x stable series.

You can find it at ftp://ftp.gnu.org/gnu/guile/guile-2.0.11.tar.xz. Its SHA1 hash is ae86544b39048a160f4db1c0653a79b40b6c1ee6.

See the NEWS file for details.

2014-03-18
GNU Guile 2.0.10 released. This is the next maintenance release for the 2.0.x stable series.

You can find it at ftp://ftp.gnu.org/gnu/guile/guile-2.0.10.tar.xz. Its SHA1 hash is 5c1a9e61d796932ac6b924fd931dce29f043bfbb.

See the NEWS file for details.

2014-02-20
Guile 2.0 just turned 3 years old! Like in previous years, we held a potluck where Guilers brought fresh hack-dishes. Read on for the menu!
2013-05-28
Two exciting Guile-related projects were accepted for GSoC this year: Guile-Emacs, and Emacsy.
2013-04-10
GNU Guile 2.0.9 released. This is the next maintenance release for the 2.0.x stable series.

You can find it at ftp://ftp.gnu.org/gnu/guile/guile-2.0.9.tar.xz. Its SHA1 hash is a2275c23c4a03e8dbd5e500c47af694e14d2365b.

See the NEWS file for details.

2013-02-16
Happy birthday GNU Guile 2.0! To celebrate two years of Guile 2.0, we organized a little birthday hack-feast—a communal potluck of programs that Guilers brought together to share with each other.

Like last year, many people took on the challenge to come up with a dish, in one month.

The complete list of dishes can be seen here. A lot of cooking!

2012-11-30
GNU Guile 2.0.7 released. This is the next maintenance release for the 2.0.x stable series.

You can find it at ftp://ftp.gnu.org/gnu/guile/guile-2.0.7.tar.xz. Its SHA1 hash is cd6b061e76e36c6e75083168febab4807f1eadab.

See the NEWS file for details.

2012-07-07
GNU Guile 2.0.6 released. This is the next maintenance release for the 2.0.x stable series.

You can find it at ftp://ftp.gnu.org/gnu/guile/guile-2.0.6.tar.xz. Its SHA1 hash is d048179b03052c500779168668380dc1eafdf25a.

See the NEWS file for details.

2012-02-16
GNU Guile 2.0 is one year old! To celebrate it, several hackers took on the challenge to come up in one week with a neat hack: Happy birthday Guile 2.0, and happy hacking!
2012-01-30
GNU Guile 2.0.5 released. This is the next maintenance release for the 2.0.x stable series.

You can find it at ftp://ftp.gnu.org/gnu/guile/guile-2.0.5.tar.xz. Its SHA1 hash is e97a332228a17c4af60453280e2596cec55be007.

See the NEWS file for details.

Version 2.0.4, released on the same day, has incorrect binary interface information (SONAME) for libguile and should be ignored.

2011-12-13
The manual of GNU Guile 2.0 has been published under ISBN 978-1-906966-15-7 by Network Theory, Ltd, a UK-based publisher, and is now available from bookstores. It is fairly impressive: 918 pages, 1.4 kg (3.0 lb), reflecting 15 years of work by more than 20 writers!
2011-10-22
GNU Guile 2.0.3 released. This is the next maintenance release for the 2.0.x stable series.

You can find it at ftp://ftp.gnu.org/gnu/guile/guile-2.0.3.tar.xz. Its SHA1 hash is 4fde55bbd612adda267420d86d8b395d49031809.

See the NEWS file for details.

2011-07-01
GNU Guile 2.0.2 released. This is the next maintenance release for the 2.0.x stable series.

You can find it at ftp://ftp.gnu.org/gnu/guile/guile-2.0.2.tar.gz. Its SHA1 hash is 1943fd22417ce1e51babbdcd7681e66a794a8da3.

See the NEWS file for details.

2011-04-27
GNU Guile 2.0.1 released. This is the next maintenance release for the 2.0.x stable series.

You can find it at ftp://ftp.gnu.org/gnu/guile/guile-2.0.1.tar.gz. Its SHA1 hash is 3276a826f17a5edc0baf2eedc4821a771824141b.

See the NEWS file for details.

2011-02-16
GNU Guile 2.0.0 released. This is the first of the 2.0.x stable series and the result of 3 years of work.

You can find it at ftp://ftp.gnu.org/gnu/guile/guile-2.0.0.tar.gz. Its SHA1 hash is e266b79b17a04a98c438e9d5dabb5210fb368d77.

Here are the highlights in the 2.0 series compared to 1.8.

  • New compiler infrastructure and VM

    Guile 2.0 compiles Scheme code to bytecode, which is then interpreted by the VM. This gives a noticeable performance improvement compared to earlier Guile series.

    By default source code is compiled automatically as it is encountered, without any manual intervention. The guile-tools compile command provides a command-line interface, and there are also Scheme procedures to drive the compiler.

    Besides Scheme, the compiler comes with front-ends for the ECMAScript and Emacs Lisp languages.

  • New REPL, new debugger

    A read-eval-print-loop (REPL) is available. Compared to the REPL in earlier releases, it supports "meta-commands" that provide convenient access to interactive programming features. For instance, the ,compile meta-command compiles the given expression, ,profile shows an execution profile of the given expression, etc.

    Any error or uncaught exception leads to a "recursive REPL", which is a REPL augmented with debugging capabilities: it has meta-commands to display a backtrace, inspect the variables on a stack frame, etc. The recursive REPL can be quit to return to the original one.

  • Support for hygienic macros

    The syntax-rules and syntax-case hygienic macro systems are supported natively by Guile, without importing (ice-9 syncase), and work across module boundaries. They are a better replacement for defmacro.

  • Unicode support

    Scheme strings can hold any Unicode character, and ports can read and write Unicode text in various encodings.

  • Partial R6RS compatibility

    The library and import forms of R6RS are supported, and all the R6RS libraries defined in the standard are available. See "R6RS Incompatibilities" in the manual, for details about remaining incompatibilities.

  • New dynamic foreign function interface

    The (system foreign) module provides a new dynamic foreign function interface (FFI). It allows bindings to C libraries to be written without a single line of C code.

  • Switch to the Boehm-Demers-Weiser garbage collector

    Guile now uses the Boehm-Demers-Weiser conservative garbage collector (aka. libgc). It makes interaction with C code easier making, for instance, the use of mark and free SMOB procedures optional in many cases. It also improves performance.

  • New modules
    • (srfi srfi-18), more sophisticated multithreading support
    • (srfi srfi-27), sources of random bits
    • (srfi srfi-38), External Representation for Data With Shared Structure
    • (srfi srfi-42), eager comprehensions
    • (srfi srfi-45), primitives for expressing iterative lazy algorithms
    • (srfi srfi-67), compare procedures
    • (ice-9 i18n), internationalization support
    • (ice-9 futures), fine-grain parallelism
    • (rnrs bytevectors), the R6RS bytevector API
    • (rnrs io ports), a subset of the R6RS I/O port API
    • (system xref), a cross-referencing facility
    • (ice-9 vlist), lists with constant-time random access; hash lists
    • (system foreign), foreign function interface
    • (sxml ...), tools for XML processing
    • (texinfo ...), parsing and production of Texinfo documents
    • (sxml match), a pattern matcher for SXML
    • (srfi srfi-9 gnu), extensions to the SRFI-9 record library
    • (system vm coverage), a line-by-line code coverage library
    • (web ...), modules for URI and HTTP handling
    • (ice-9 poll), a poll wrapper
    • (system base lalr), the lalr-scm LALR(1) parser generator
    • (statprof), statistical profiler
  • New dependencies

See the NEWS file for details.

2011-02-02
GNU Guile 1.9.15 (beta) released. This is the last pre-release before 2.0.0, due on February 16th!

You can find it at ftp://alpha.gnu.org/gnu/guile/guile-1.9.15.tar.gz. Its SHA1 hash is 0b1cdd5f0506dcda3ed85324b2a0ff510920ee76.

See the NEWS file for details.

2011-01-27
The January 2011 GNU Status Report contains a summary of the Guile 2.0 news.

Older news.

(But what is Guile?)