Recent News Atom feed

GNU Guile 2.2.2 released

Andy Wingo — April 21, 2017

We sheepishly announce GNU Guile 2.2.2, a quick bug-fix after the recent 2.2.1 release. This release restores our ability to compile with libgc 7.2, and restores the ability of syntax objects to be structurally compared with equal?.

See the release announcement for full details and a download link.

GNU Guile 2.2.1 released

Andy Wingo — April 19, 2017

We are delighted to announce GNU Guile 2.2.1, the first bug-fix release in the new 2.2 stable release series. This release adds a "sandbox" facility that can run code from untrusted users. It also includes a compiler and runtime change that ensures that attempts to mutate literal constants will always throw an exception. Before this change, the mutation would either succeed, potentially corrupting further use of that constant or other constants sharing structure with it, or cause a segmentation fault if that data happened to be mapped read-only.

See the release announcement for full details and a download link.

GNU Guile 2.2.0 released

Andy Wingo — March 16, 2017

We are pleased to announce GNU Guile 2.2.0, the first of a new stable release series. More than 6 years in the making, Guile 2.2 includes a new optimizing compiler and high-performance register virtual machine. Compared to the old 2.0 series, real-world programs often show a speedup of 30% or more with Guile 2.2.

Besides bringing the compiler and virtual machine, Guile 2.2 removes limitations on you and your programs by lowering memory usage, speeding up the "eval" interpreter, providing better support for multi-core programming, and last but not least, removing any fixed stack size limit. With Guile 2.2, you can recurse to your heart's content!

Not only does Guile 2.2 run fast, it also supports the creation of user-space concurrency facilities that have millions of lightweight "fibers" running at the same time. When a fiber goes to read or write on a port, and that operation would block, concurrency libraries built on Guile can now cause the calling fiber to suspend and only resume when the I/O operation can progress. In the mean-time, these concurrency facilities can schedule other fibers. Guile has not blessed any one library (yet?) but for some examples, see 8sync, guile-a-sync, and Fibers. Also check out the Fibers manual for a full discussion.

See the release announcement for full details and a download link. If you are migrating from earlier versions of Guile, be sure to read the NEWS from the release announcement for exhaustive information on user-visible changes relative to the previous stable series.

This release is parallel-installable with the 2.0 series. See Parallel Installations in the manual, for more. Many Guile libraries and applications already support 2.2; Ludovic Courtès mentions that Guix is ready for Guile 2.2, for example. Give your favorite application a try and if you have problems, check the NEWS for what steps to take to fix it, and pop by #guile if you need help.

GNU Guile 2.1.8 released

Andy Wingo — March 10, 2017

We are delighted to announce GNU Guile release 2.1.8, the next pre-release in what will become the 2.2 stable series.

This release fixes a number of portability bugs. We hope this is the last pre-release before starting the stable 2.2.0 series. With luck, we will follow up with a 2.2.0 within a week or so, so any testing you can perform on this release is very welcome.

See the release announcement for full details and a download link.

GNU Guile 2.1.7 released

Andy Wingo — February 18, 2017

We are pleased to announce GNU Guile release 2.1.7, the next pre-release in what will become the 2.2 stable series.

This release fixes bugs related to migrating coroutines between threads. It is an incremental release along the path to 2.2. We hope to be able to release a final 2.2.0 within a few weeks.

See the release announcement for full details and a download link.

GNU Guile 2.0.14 released

Ludovic Courtès — February 13, 2017

We are delighted to announce GNU Guile release 2.0.14, a bug-fix release of the 2.0 stable series.

First and foremost, this version supports reproducible compilation of .go files and of Guile itself, thereby fixing a long-standing bug. Other noteworthy changes include fixes to number output routines of the (ice-9 i18n) module, and assorted documentation improvements.

See the release announcement for full details and go to this page for downloads.

GNU Guile at FOSDEM

Ludovic Courtès — January 10, 2017

GNU Guile has its own session at FOSDEM this year again. The schedule is now available. Talks cover a range of topics:

FOSDEM takes place in Brussels, Belgium, on the 4th and 5th of February, with the Guile track all day long on Sunday 5th. Hope to see you there!

GNU Guile 2.1.5 released

Andy Wingo — December 9, 2016

We are delighted to announce GNU Guile release 2.1.5, the next pre-release in what will become the 2.2 stable series.

This release improves Guile's parallelism and concurrency primitives, with the goal of providing Guile users with the tools they need to build custom concurrency and parallelism abstractions that suit their needs.

See the release announcement for full details and a download link.

GNU Guile 2.0.13 released [security fixes]

Christopher Allan Webber — October 12, 2016

We've just released a new version of GNU Guile, version 2.0.13, which is a security release for Guile (see the original announcement).

This handles a significant security vulnerability affecting the live REPL, CVE-2016-8606. Due to the nature of this bug, Guile applications themselves in general aren't vulnerable, but Guile developers are. Arbitrary Scheme code may be used to attack your system in this scenario. (A more minor security issue is also addressed, CVE-2016-8605.)

There is also a lesson here that applies beyond Guile: the presumption that "localhost" is only accessible by local users can't be guaranteed by modern operating system environments. If you are looking to provide local-execution-only, we recommend using Unix domain sockets or named pipes. Don't rely on localhost plus some port.

To give context, Guile supports a nice live-hacking feature where a user can expose a REPL to connect to, through Geiser or so on. This allows Guile users to hack programs even while programs are running.

When using the live hacking feature, the default in Guile has been to expose a port over localhost to which code may be passed. The assumption for this is that only a local user may write to localhost, so it should be safe. Unfortunately, users simultaneously developing Guile and operating modern browsers are vulnerable to a combination of an HTML form protocol attack and a DNS rebinding attack. How to combine these attacks is published in the article How to steal any developer's local database.

In Guile's case, the general idea is that you visit some site which presumably loads some JavaScript code (or tricks the developer into pressing a button which performs a POST), and the site operator switches the DNS from their own IP to 127.0.0.1. Then a POST is done from the website to 127.0.0.1 with the body containing Scheme code. This code is then executed by the Guile interpreter on the listening port.

The version we are releasing mitigates this problem by detecting incoming HTTP connections and closing them before executing any code.

However, there is a better long term solution, which is already available even to users of older versions of Guile: Guile supports Unix domain sockets in POSIX environments. For example, users may run the command:

guile --listen=/tmp/guile-socket 

to open and listen to a socket at /tmp/guile-socket. Geiser users may then connect using M-x geiser-connect-local. This is considerably safer.

We hope that other program authors take heed of this lesson as well: many programs make use of localhost + port as a way of limiting connections. Unfortunately, in today's complex networked environment, this isn't a safe assumption. It's very difficult to predict what programs may provide a way of chaining requests to an application listening on localhost, and certainly difficult on a system where web browsers are involved. Take heed!

(This post originally appeared on the guile-users mailing list.)

GNU Guile 2.1.4 released (beta)

Andy Wingo — September 14, 2016

We are delighted to announce GNU Guile release 2.1.4, the next pre-release in what will become the 2.2 stable series.

This release fixes many small bugs, adds an atomic reference facility, and improves the effectiveness of integer unboxing in the compiler. See the release announcement for full details and a download link.

GNU Guile 2.0.12 released

Andy Wingo — July 14, 2016

We are delighted to announce the availability of GNU Guile 2.0.12, a maintenance release in the current stable 2.0 series.

This release packages together many bug fixes that have accumulated over the last two years while the Guile team was otherwise busy working on the upcoming 2.2 series and on building the Guix package manager and GNU system distribution.

See the release notes for a list of user-visible changes in this release and a download link.

GNU Guile 2.1.3 released (beta)

Andy Wingo — June 19, 2016

We are delighted to announce GNU Guile release 2.1.3, the next pre-release in what will become the 2.2 stable series.

This release rewrites the ports facility to better support non-blocking concurrent input and output. See the newly rewritten "Input and Output" section of the manual for all details, and the release announcement for a download link.

GNU Guile 2.1.2 released (beta)

Andy Wingo — February 3, 2016

We are chuffed to announce GNU Guile release 2.1,2, the next pre-release in what will become the 2.2 stable series. This release features unboxed arithmetic and dramatically faster build times, along with a number of small speed and memory improvements.

See the original announcement at https://lists.gnu.org/archive/html/guile-user/2016-02/msg00022.html for full details.

GNU Guile 2.1.6 released

Andy Wingo — January 19, 2016

We are delighted to announce GNU Guile release 2.1.6, the next pre-release in what will become the 2.2 stable series.

This release fixes bugs related to threads and interrupts. It is an incremental release along the path to 2.2. It also includes some floating-point performance improvements thanks to David Thompson.

See the release announcement for full details and a download link.

GNU Guile FOSDEM schedule available!

Ludovic Courtès — December 30, 2015

The schedule of GNU Guile's developer room at FOSDEM is now available on-line! It features 10 talks covering different projects including Guile-SSH, wisp, GNU Guix, and more. The Guile session will be followed by a session about the Lua programming language; a panel on the future of small languages will make the transition between the two.

FOSDEM takes place on January 30–31 in Brussels, Belgium, with the Guile session starting on Saturday morning. Hope to see you there!

Give a talk in GNU Guile's track at FOSDEM!

Ludovic Courtès — November 23, 2015

GNU Guile will have its own developer room at FOSDEM 2016, which will take place in Brussels, Belgium, 30–31 January 2016.

Now is the time to submit a proposal for a talk in our devroom! We welcome all kinds of talks, be it about functional programming with Guile, experience reports on embedding Guile in your application, Web development with Guile, GNU Guix development, and more—Guile has very diverse use cases, and this devroom should reflect that.

We look forward to reading your proposal and to meeting you! :-)

GNU Guile 2.1.1 released

Andy Wingo — November 4, 2015

We are delighted to announce GNU Guile release 2.1,1, the first pre-release in what will become the 2.2 stable series. This release features a new compiler and virtual machine that offer important performance improvements. It also removes all limitations on stack sizes: users are free to recurse to their hearts' content, using the stack as a data structure, as it was meant to be.

See the original announcement for full details.

GNU Guile 2.0.11 released

Ludovic Courtès — March 21, 2014

We are pleased to announce GNU Guile release 2.0.11, the next maintenance release for the 2.0.x stable series.

This release fixes an embarrassing regression introduced in 2.0.10 in the C functions to access SRFI-4 vectors.

See the original announcement for details.

GNU Guile 2.0.10 released

Ludovic Courtès — March 18, 2014

We are pleased to announce GNU Guile release 2.0.10, the next maintenance release for the 2.0.x stable series.

This release contains 253 commits by 11 people over 11 months.

In addition to many (long overdue!) bug fixes, this release brings new features, including an implementation of the SRFI-43 vector library and the SRFI-64 test suite API, some support for the new R7RS Scheme standard, and a GDB extension for Guile debugging.

See the original announcement at https://lists.gnu.org/archive/html/guile-devel/2014-03/msg00041.html for more details.

Guile 2.0 just turned 3 years old!

Ludovic Courtès — February 20, 2014

Last week was Guile 2.0's third anniversary. Guile 2 was a major milestone for Guile and so, like in previousyears, we organized a birthday potluck---a hack fest where Guilers brought their freshly cooked dishes.

The Potluck Dishes

This year again we got a variety of fine dishes. Here's the menu:

  • David Thompson brought a neat module for functional reactive programming (FRP). The module is currently used in guile-2d, David's game engine.
  • Mike Gran joined the party with an entertaining midi to WAV converter. The code uses produces chiptune---a sound reminiscent of the 80's video games.
  • Andy Wingo came up with compost, a native compiler for leaf functions. Compost can generate ELF binaries for leaf functions written in a subset of Scheme. By using it to optimize the inner loops of the OpenGL particle simulation he wrote last year, Andy was able to achieve a speedup of 80x! Compost is available on Gitorious.
  • Panicz Maciej Godek and Drcz brought a Pandora game clone to the party, based on the SLAYER game engine.
  • Alex Sassmannshausen's dish actually relates to food: food-guile is a program that suggests meals taken from a collection of recipes, and according to various constraints.
  • Doug Evans came up with a patch to improve SIGINT handling in GDB's Guile support---the ability to extend GDB with Guile code, which Doug committed in GDB a couple of weeks ago.
  • Another GDB-related dish is Ludovic Courtès' GDB pretty-printer for Guile's SCM values. This GDB extension, written in Guile, allows GDB to display the SCM values manipulated by libguile in a human-friendly way.

This has been another pleasant potluck. Thanks to all the participants, and happy birthday Guile 2!

GSoC: Guile-Emacs and Emacsy

Ludovic Courtès — May 28, 2013

There will be two exciting Guile-related projects going on as part of GSoC this year:

  • Guile-Emacs. BT Templeton will continue the excellent work that has been done on Guile and Emacs integration. Previous GSoCs focused on providing a full-fledged Emacs Lisp front-end to Guile’s compiler and VM. This project focuses on the missing piece: replacing the Emacs Lisp interpreter in Emacs by Guile.
  • Emacsy is another approach to the Emacs/Guile vision: Shane Celis will work on a framework, Emacsy, that will allow application developers to easily “emacsify” them–i.e., by providing the mechanisms for a “key-lookup-execute-command loop” similar to that of Emacs, with Guile inside.

See the initial discussion for details.

Happy hacking!

GNU Guile 2.0.9 released

Ludovic Courtès — April 10, 2013

We are pleased to announce GNU Guile release 2.0.9, the next maintenance release for the 2.0.x stable series.

This release represents 347 commits by 15 people over 4 months.

In addition to a number of bug fixes and portability improvements, this release brings new features, including an implementation of SRFI-41 streams and SRFI-45 promises, additional keyword parameters for procedures that open files, new HTTP client procedures, improvement to the numerics code, and bindings for the sendfile libc function.

See the original announcement at http://lists.gnu.org/archive/html/guile-devel/2013-04/msg00133.html for more details.

Two years of Guile 2.0

Andy Wingo — February 19, 2013

February the 16th marked the second anniversary of Guile 2.0. Guile 2 was a major upgrade to Guile's performance and expressiveness as a language, and has become a pleasant foundation for its users.

To celebrate, 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 Potluck's Dishes

  • Daniel Hartwig and Andy Wingo hacked out a binding to OpenGL, using the dynamic FFI to generate an interface from the OpenGL specification. They promise to release a first version soon, but for now, interested hackers should check out the guile-figl page at gitorious. Andy built a little demo around Figl, putting a bunch of particles in orbit around a central gravitational well. Check out his blog entry for more.
  • Stefan Tampe conjured up a neat distributed computation system based on the ZeroMQ messaging library. The DOCUMENTATION file over at the gitorious page has all the lovely details.
  • John Darrington announced version 0.0 of a optimizing calculator for statisticians based on GNU PSPP. The aim was not to bind PSPP directly, but to draw on its algorithms, while providing a more friendly Scheme-based interface. The source code is available in a [git://de.cellform.com/pspp-experimental Git repo] at his site.
  • Nala Ginrut hacked together a small web framework inspired by Ruby's Sinatra. It comes with a small blog example to get you up and running. The code is available on Gitorious.
  • Mark Witmer wrote XCB bindings for Guile, implemented as a language front-end for Guile's compiler whose input is the XML files used XCB.
  • Ludovic Courtès came up with a Boot-to-Guile QEMU image. The image boots a Linux-Libre kernel with an initrd containing a copy of Guile, and where the +/init+ file is a Scheme program. The image's build process is fully automated with GNU Guix. This is a preview of what the Guix-based GNU distribution will soon use.
  • Noah Lavine did some development work on the next generation of Guile's compiler and virtual machine, updating the continuation-passing-style intermediate language to the latest version of the development virtual machine. This work will make Guile faster and more amenable to native compilation. Peruse the wip-rtp-cps branch for the nitties and the gritties.
  • Aleix Conchillo filled in two important missing pieces from Guile's web tool suite, implementing a JSON parser and emitter and an XML-RPC server and client. Check out the code at the guile-json and guile-xmlrpc projects on GitHub.

Conclusion

Well, there you have it. We hope you enjoy digesting these programs as much as we enjoyed writing them, and we hope to see you at our table next year.

Happy birthday, Guile 2!

GNU Guile 2.0.7 released

Ludovic Courtès — November 30, 2012

We are pleased to announce GNU Guile 2.0.7, the next maintenance release of the 2.0.x stable series.

As usual, this release brings many bug fixes along with new features such as support for SRFI-105 curly infix expressions and per-port reader options, nested futures for parallel computations, and functional setters for SRFI-9 records.

See the original announcement at http://lists.gnu.org/archive/html/guile-devel/2012-11/msg00211.html for more details.

GNU Guile 2.0.6 released

Ludovic Courtès — July 7, 2012

We are pleased to announce GNU Guile 2.0.6, the next maintenance release of the 2.0.x stable series.

This release provides many bug fixes, as well a new features: the introduction of a new common-subexpression elemination (CSE) pass in the compiler, improved effect analysis and new optimizations in the compiler's partial evaluator (peval), new functions in the web modules, localized number output with (ice-9 format), and more.

See the original announcement at http://lists.gnu.org/archive/html/guile-devel/2012-07/msg00036.html for more details.

Happy birthday Guile 2.0!

Ludovic Courtès — February 16, 2012

Today is the first anniversary of GNU Guile 2.0 [0]. To celebrate it, several hackers several hackers took on the challenge to come up in one week with a neat hack:

• Ian Price quickly came up with GDBM bindings, written with Guile’s dynamic foreign function interface (FFI): <http://lists.gnu.org/archive/html/guile-user/2012-02/msg00020.html>.

• Nala Ginrut wrote BIG, for “Bash Inner Guile”, which extends Bash with the ability to evaluate Scheme expressions: <http://lists.gnu.org/archive/html/guile-user/2012-02/msg00026.html>.

• Mike Gran polished his port of GNU Zile to Guile: <http://lists.gnu.org/archive/html/guile-user/2012-02/msg00033.html>.

Shortly after, he released a new version, along with an implementation of Tetris in Scheme that uses GNU Guile-Ncurses: <http://lists.gnu.org/archive/html/guile-user/2012-02/msg00041.html>.

• Ludovic Courtès brought Guile-GCC, which allows GCC to be extended in Guile: <http://gcc.gnu.org/ml/gcc/2012-02/msg00323.html>.

Happy birthday Guile 2.0, and happy GNU hacking!

[0] http://lists.gnu.org/archive/html/guile-devel/2011-02/msg00173.html
[1] http://lists.gnu.org/archive/html/guile-user/2012-02/msg00019.html

GNU Guile 2.0.5 released

Ludovic Courtès — January 30, 2012

GNU Guile 2.0.5 was just released, to fix the incorrect binary interface information (SONAME) found in libguile in 2.0.4. It does not contain other changes.

Please be sure to upgrade to 2.0.5 if you already installed 2.0.4.
We apologize for the inconvenience.

GNU Guile 2.0.4 released

Ludovic Courtès — January 30, 2012

We are pleased to announce GNU Guile 2.0.3, the fourth maintenance release of the 2.0.x stable series.

This release provides many bug fixes, including better portability and an improved compatibility with version 1.8, garbage-collection-related performance improvements, and some new features such as a better random state seed, functional file system traversal procedures, and syntax parameters.

See the original announcement at http://lists.gnu.org/archive/html/guile-devel/2012-01/msg00521.html for more details.

Guile 2.0 manual available from your bookstore!

Ludovic Courtès — December 14, 2011

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 any good bookstore! See http://www.network-theory.co.uk/guile/manual/ for more details.

It is a paperback of the Guile 2.0.3 reference manual, covering almost all the aspects of using Guile from Scheme and C, its modules, as well as its internals, and a discussion of the project's history and rationale.

The book is fairly impressive: 918 pages, 1.4 kg (3.0 lb), reflecting 15 years of work by more than 20 writers.

If you were looking for a present for your beloved, this is surely a good candidate. :-)

Thanks to Brian Gough for making it possible!

GNU Guile 2.0.3 released

Ludovic Courtès — October 22, 2011

We are pleased to announce GNU Guile 2.0.3, the third maintenance release of the 2.0.x stable series.

The main highlight of this release is the compiler's new optimizer, based on a partial evaluator. It provides the usual optimizations: procedure inlining, copy propagation, and constant folding. The new REPL `,optimize' command allows users to see how it would optimize a given expression.

The release also comes with a few new features and many bug fixes.

See https://lists.gnu.org/archive/html/guile-devel/2011-10/msg00034.html for the original announcement.

GNU Guile 2.0.2 released

Ludovic Courtès — July 2, 2011

We are pleased to announce GNU Guile 2.0.2, the second maintenance release of the new 2.0.x stable series.

This release contains a few new features, optimizations, and bug fixes. More importantly, the `guile-tools' program has been renamed `guild'. "Its intended future use is for a CPAN-like system for Guile wizards and journeyfolk to band together to share code; hence the name", says Andy Wingo.

See the original announcement at http://lists.gnu.org/archive/html/guile-devel/2011-07/msg00017.html for details. Don't miss http://lists.gnu.org/archive/html/guile-devel/2011-06/msg00026.html for our plans to build the guildhall.

Join us now, share the software, and be a part of the guild!

GNU Guile 2.0.1 released

Ludovic Courtès — April 28, 2011

We are pleased to announce GNU Guile 2.0.1, the first and overdue maintenance release of the brand new 2.0.x stable series.

This release contains many bug fixes along with some new features. See the original announcement at http://lists.gnu.org/archive/html/guile-devel/2011-04/msg00233.html for details.

GNU Guile 2.0.0 released!

Ludovic Courtès — February 16, 2011

We are pleased to announce GNU Guile 2.0.0, the first of a new stable series, after 16 pre-releases on almost 3 years. We're very excited about all the new things in there. We hope you'll like it too and come up with neat ideas to guilify GNU!

In a nutshell, compared to the 1.8 stable series, Guile 2.0 brings a new compiler infrastructure and VM, which can compile Scheme (and ECMAScript, and Emacs Lisp) to bytecode, a new powerful REPL and integrated debugger, native support for hygienic macros, Unicode, good R6RS compatibility, a dynamic foreign function interface (FFI), use of the Boehm-Demers-Weiser GC, and many, many new modules and improvements.

See http://gnu.org/software/guile/news.html and the original announcement at http://lists.gnu.org/archive/html/guile-devel/2011-02/msg00173.html for details.

Many thanks to the numerous contributors and testers, and a special thanks to Andy Wingo for initiating the 1.9/2.0 adventure and for his tireless work adding all these bells and whistles that make Guile 2.0 so nice.

GNU Guile 1.9.15 released, last call before 2.0!

Ludovic Courtès — February 2, 2011

We are pleased to announce GNU Guile 1.9.15, the sixteenth and last pre-release before 2.0, featuring a compiler and virtual machine, and a large set of exciting new features. Yes, that's right, the last one: 2.0 is due on February 16th!

This pre-release comes with many bug fixes and improvements, including faster Unicode I/O with better error reporting, improved math functions, and better R6RS compatibility.

See http://lists.gnu.org/archive/html/guile-devel/2011-02/msg00041.html for the original announcement.

Last but not least, if you're around, don't miss Andy Wingo's Guile talk at FOSDEM this Saturday: http://fosdem.org/2011/schedule/event/guile .

GNU Guile 1.9.14 released

Ludovic Courtès — December 17, 2010

We are pleased to announce GNU Guile 1.9.14, the fifteenth and one of the last pre-releases before 2.0, featuring a compiler and virtual machine, and a large set of exciting new features. As usual feedback, bug reports, etc., are all welcome!

In addition to bug fixes, this release adds modules for dealing with HTTP, including a built-in web server, support for fine-grain parallelism using "futures", and this Summer of Code work on the Emacs Lisp compiler.

See http://lists.gnu.org/archive/html/guile-devel/2010-12/msg00031.html for the original announcement.

GNU Guile 1.8.8 released

Ludovic Courtès — December 13, 2010

We are pleased to announce GNU Guile release 1.8.8. This is a bug-fix release of the 1.8 stable series. See http://lists.gnu.org/archive/html/guile-devel/2010-12/msg00023.html for the original announcement.

Note that development effort is currently spent on the 1.9 unstable
series, which will lead to the 2.0 stable series within a couple of
months. The 1.9 series provides many new noteworthy features, most
notably the addition of a compiler and virtual machine. Users are
encouraged to test it and provide feedback

GNU Guile 1.9.13 released

Ludovic Courtès — October 17, 2010

We are pleased to announce GNU Guile 1.9.13, the fourteenth and one of the last pre-releases before 2.0, featuring a compiler and virtual machine and a large set of exciting new features. As usual feedback, bug reports, portability issues, etc., are all welcome!

Among others, this release comes with new debugging facilities at the REPL (breakpoints, tracepoints, stepping), several new SRFI implementations, and many bug fixes.

See http://lists.gnu.org/archive/html/guile-devel/2010-10/msg00075.html for the original announcement.

GNU Guile 1.9.12 released

Ludovic Courtès — September 4, 2010

We are pleased to announce GNU Guile 1.9.12, the thirteenth and one of the last pre-releases before 2.0, featuring a compiler and virtual machine and a large set of exciting new features. As usual feedback, bug reports, portability issues, etc., are all welcome!

Summer holidays in this hemisphere reduced the release pace, though the list of news and bug fixes is pretty long. These changes bring us closer to our expectations for 2.0.

Among other things 1.9.12 comes with a new "recursive REPL" for debugging (similar to Emacs' recursive editing levels), improvements to the dynamic foreign function interface (FFI), and various R6RS bug fixes.

See http://lists.gnu.org/archive/html/guile-devel/2010-09/msg00033.html for the original announcement.

GNU Guile 1.9.11, the very last pre-release?

Ludovic Courtès — June 2, 2010

We are pleased to announce GNU Guile 1.9.11, the twelfth and probably last pre-release before 2.0, featuring a compiler and virtual machine and a large set of exciting new features. As usual feedback, bug reports, portability issues, etc., are all welcome!

Granted, we already said last month that 1.9.10 may be the last pre-release. But there's been such a wealth of contributions, improvements, and bug fixes that publishing another pre-release made a lot of sense.

To name a few: the R6RS `library' form and most of the R6RS standard libraries were added, there are new modules for SXML pattern matching and for code coverage reports, and the mechanics of macro expansion have been harmonized between the compiler, the expander, and the evaluator.

See http://lists.gnu.org/archive/html/guile-devel/2010-06/msg00013.html for the original announcement.

The story of GNU, Guile, and Emacs

Ludovic Courtès — April 22, 2010

From its inception Guile was aimed to become the extension language of the GNU System, including eventually that of Emacs. While the latter is not yet a reality, the idea is in the GNU hacker Zeitgeist.

Recently, Emacs developers discussed about a possible integration of Guile in Emacs, which led to interesting discussions: http://lists.gnu.org/archive/html/emacs-devel/2010-04/msg00665.html .

GNU Guile 1.9.10, the last pre-release?

Ludovic Courtès — April 15, 2010

We are pleased to announce GNU Guile 1.9.10, the eleventh and probably last pre-release before 2.0, featuring a compiler and virtual machine and a large set of exciting new features. As usual feedback, bug reports, portability issues, etc., are all welcome!

This release focuses on documentation updates, better integration of Emacs Lisp's nil, and the addition of Dominique Boucher's `lalr-scm' parser generator.

See http://lists.gnu.org/archive/html/guile-devel/2010-04/msg00094.html for the original announcement.

GNU Guile 1.9.9 released, getting closer!

Ludovic Courtès — March 19, 2010

We are pleased to announce GNU Guile 1.9.9, the tenth pre-release of what will soon become the 2.0 stable series, featuring a compiler and virtual machine. If you haven't tried it yet, please do and report back!

This release adds support for delimited and composable continuations, a powerful mechanism that allows part of a program's control flow to be captured and reinstated. Besides, the release focuses on performance and usability improvements as well as bug fixes.

See http://lists.gnu.org/archive/html/guile-devel/2010-03/msg00055.html for the announcement.

GNU Guile 1.9.8 released!

Ludovic Courtès — February 17, 2010

We are pleased to announce GNU Guile 1.9.8. It is the ninth pre-release of what will eventually become the 2.0 stable series, featuring a compiler and virtual machine.

This release brings us closer to 2.0, bringing a new dynamic "foreign function interface" (FFI), an implementation of Phil Bagwell's vlists and hash lists, and the usual collection of optimizations, bug fixes, and portability improvements. See http://lists.gnu.org/archive/html/guile-devel/2010-02/msg00030.html for the announcement.

GNU Guile 1.9.7 released!

Ludovic Courtès — January 19, 2010

We are pleased to announce GNU Guile 1.9.7. It is the eighth pre-release of what will eventually become the 2.0 stable series, featuring a compiler and virtual machine.

This release improves the efficiency of function call dispatch in the VM, adds a new debugger, new profiling and tracing commands at the REPL, as well as new modules (SSAX, Texinfo). See http://lists.gnu.org/archive/html/guile-devel/2010-01/msg00092.html for the complete announcement.

GNU Guile 1.9.6 released!

Ludovic Courtès — December 16, 2009

We are pleased to announce GNU Guile 1.9.6. It is the seventh pre-release of what will eventually become the 2.0 stable series, featuring a compiler and virtual machine.

This release includes a wealth of exciting new features, including a new `eval' written in Scheme (a meta-circular evaluator), integrated dispatch of GOOPS methods in the VM, and –last but not least– an Emacs Lisp compiler! See http://lists.gnu.org/archive/html/guile-devel/2009-12/msg00035.html for the complete announcement.

GNU Guile 1.9.5 released!

Ludovic Courtès — November 18, 2009

We are pleased to announce GNU Guile 1.9.5. It is the sixth pre-release of what will eventually become the 2.0 stable series, featuring a compiler and virtual machine.

This release provides, among other things, support for `case-lambda' (multiple-arity procedures), a more efficient calling convention for procedures with keyword and optional arguments, better support for Emacs Lisp's `nil', and new compiler warnings.

See the announcement at http://lists.gnu.org/archive/html/guile-devel/2009-11/msg00065.html for details.

GNU Guile 1.9.4 released

Ludovic Courtès — October 16, 2009

We are pleased to announce GNU Guile 1.9.4. It is the fifth pre-release of what will eventually become the 2.0 stable series, featuring a compiler and virtual machine.

This release provides assorted improvements and bug fixes. See the announcement at http://lists.gnu.org/archive/html/guile-devel/2009-10/msg00075.html for details.

GNU Guile 1.9.3 is out!

Ludovic Courtès — September 16, 2009

We are pleased to announce GNU Guile 1.9.3. It is the fourth pre-release of what will eventually become the 2.0 stable series, featuring a compiler and virtual machine.

The highlights of this release are Unicode support (use `?' instead of `lambda'!) and the switch to libgc, the Boehm-Demers-Weiser conservative garbage collector.

The original announcement is available at http://lists.gnu.org/archive/html/guile-devel/2009-09/msg00090.html .

GNU Guile 1.9.2 released!

Ludovic Courtès — August 15, 2009

GNU Guile 1.9.2 has been released today. It is the third pre-release of what will eventually become the 2.0 stable series. Compared to the 1.8 series, 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 `guile-devel@gnu.org'.

The original announcement can be read at http://lists.gnu.org/archive/html/guile-devel/2009-08/msg00111.html .