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:// 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.


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!