Guile Projects List

This page lists projects that use or enhance Guile. To contribute, follow the instructions in the protocol doc. (Page updated from database 2002-02-19 08:41:05 UTC.)


Core Projects

These projects modify the innards of Guile.

location None yet
category Core
description A Clos-like object system for Guile.
status It is up and running now but release won't happen until four things are finished: Modifications in the tiny-clos direction, automatic generation of smob classes, code is merged into guile, and documentation is written.
authors Mikael Djurfeldt and Christian Lynbech
license GPL with guile exception (other unrestricted licenses cover the original works from which GOOPS is derived)

location Guile Homepage
category Core
description GNU Ubiquitous Intelligent Language for Extension
status version 1.5.4 (beta) released 2001-09-28
mailing-list guile-user, guile-devel, etc.
license GPL, with an exception to allow non-GPL'd programs to link to the library without becoming derivitive works.
keywords Extension Language Scheme Interpreter

category Core
description An example demonstrating one way to build yacc parsers and lex scanners into Guile modules.
status The current release of guile-arith is 0.02; It has been built and tested under Linux 2.2 only.
maintainer Ian Grant
authors Ian Grant
license GPL
requires Guile 1.4
keywords infix arithmetic bison yacc lex flex scanner parser

Posix Threads Support
location A preliminary patch introducing Posix Threads to guile (NOT AV)
category Core
description Work towards a threading system implemented around native threads (Guile's current system is based on coop threads at the application level)
status After the first implementation, I've found that we have to define the behavior of signal handler with threads, and did a little survey for signal handling in scripting languages (please check Guile mailing list archive). Project would go with following steps: 1) Define signal handling with threads, changing the semantics. 2) Change Guile according to the design of (1), which may remove all DEFER_INTS. 3) Introduce POSIX Threads Support. It will open some critical regions unprotected, and/or result dead locks. 4) Protect critical regions unprotected, resolve dead locks. Step #3 is not so hard, but step #2 results many changes in the code base of Guile, and it also change the way how to write code for guile. Before introducing such major change, we should have consensus somewhat. I'll write for proposed change of singal handling in Guile and why it is required.


These projects are libraries of code for Guile: includes interfaces to external libraries and collections of code to do useful things.

(codesystem base64)
location codesystem-base64-0.1.tar.gz (NOT AV)
category Libraries
description (codesystem base64) encodes and decodes data in base64 (RFC2045) format.
status version 0.1 released 2001/04/01
maintainer Evan Prodromou
authors Evan Prodromou
license GPL
requires Guile 1.4

(net http)
location (net http) (NOT AV)
category Libraries
description (net http) is a fairly straightforward HTTP library for Guile 1.4 and GOOPS. It can be used for writing scripts that need to access Web sites, for writing primitive Web servers, or for creating libraries for protocols based on HTTP. It models HTTP messages, clients, and servers.
status version 0.3 released 2001/06/03
maintainer Evan Prodromou
authors Evan Prodromou
license GPL
requires Guile 1.4 GOOPS 0.9

category Libraries
description port of emacs lisp avltrees , provided by elib, to guile
status unstable
maintainer Klaus Schilling
license GNU GPL
keywords data structures

location Goosh
category Libraries
description Goosh is a small process-control library for Guile. It can be used to start processes and pipelines of connected processes and to communicate with the processes using pipes.
maintainer Gary Houston
license GPL

location GTrees Home Page
category Libraries/Datatypes
description This is a wish to implement high efficient tree data structures (Red-Black and AVL) using smobs. Both tree implementations will use the same data structure, thereby a subset of common functions (excluding functions balancing the tree) could be used to operate on both types of trees.
status Version 0.2. Smobs (Red-Black, AVL) and general functions are done.
maintainer Vilem Vychodil
mailing-list GTrees mailing list
license GPL

Guile generic database package
category Libraries/Database
description Intended to be something along the lines of Perl's db interface, this has currently only been discussed, and is not yet implemented.
mailing-list Subscribe requests can be sent here. You then reply to the auto-responding email to be subscribed to the list.

Guile SimpleSQL
category Libraries/SQL
description A simple interface to SQL databases, which autoconverts SQL data to Scheme data.
status Fairly stable. Documentation is a work in progress.
maintainer Dave Lambert
authors Hal Roberts, Jorgen Schaefer
license GPL

category Libraries/Audio
description Bindings for the SGI audiofile library
status Initial release supports the most important library features and provides basic documentation.
maintainer Kyle Cronan
authors Kyle Cronan
license GNU GPL

category Libraries
description libguile wrapper over the curses library
status unstable many missing features
maintainer Klaus Schilling
license GNU GPL
requires guile-1.3, ncurses-4.2 or equivalent sysv curses
keywords cursesguile

location NOT AV
category Libraries/Database
description guile-gdbm provides bindings for the GNU dbm library.
status version 0.0.2 released 2001-03-02
maintainer Martin Grabmueller
authors Martin Grabmueller
license GPL
requires CVS Guile as of Feb 2001 and the GNU dbm library
keywords gdbm

location guile-gtk
category Libraries/X11
description Guile-gtk provides bindings to the gtk+ toolkit from guile.
status Recently updated to the gtk+ 1.2/1.3 releases
maintainer Marius Vollmer
license GPL

category Libraries
description This is the ncurses library wrapper for guile scheme.
status version 0.1.0 released 2001/12/11
maintainer dmiceman
authors Dmitry Morozhnikov
license GPL
requires ncurses library
keywords ncurses swig

category Libraries/Database
description an interface to Oracle8 from guile.
status Very unfinished, available on request.
maintainer Peter C. Norton

category Libraries/Database
description An interface to PostgreSQL from guile.
status The current release of guile-pg is 0.07; It has been built and tested under Linux 2.2 and Solaris 7 with PostgreSQL version 7.0
maintainer Ian Grant
authors Ian Grant
mailing-list guile-pg-devel(AT)
license GPL
requires Guile 1.3.4 or 1.4 and PostgreSQL Version 7.0 or later
keywords database postgres

location guile-pgsql NOT AV
category Libraries/Database
description An interface to PostgreSQL from guile
maintainer Aleksey Demakov

location Neil's Guile page
category Libraries/X11
description Xlib bindings for Guile
status Version 0.3: Now a properly packaged loadable Guile module
maintainer Neil Jerram
authors Neil Jerram
license GPL
requires CVS Guile dated January 2001 or later, Standard X11 libraries
keywords Xlib

location guileGL
category Libraries/Graphics
description OpenGL language bindings for Guile. (OpenGLis standard library for 2D and 3D graphics)
status The current release of guileGL is 0.1.1 and hasmany bindigs for GL and GLU functions
maintainer Daniel Skarda
license GPL
keywords OpenGLSchemeLanguage Bindings

location guilerxspencer
category Libraries/Regex
description A wrapper for Henry Spencer's regular expression library.
maintainer Gary Houston
license GPL
requires Henry Spencer's library, e.g., from

Hash tables
location jglascoe/GUILE/ NOT AV
category Libraries/Datatypes
description An implementation of an advanced table datatype for guile.
authors Jay Galscoe
license GPL

location Inter-Language Unification -- ILU
category Libraries
description ILU/CORBA bindings and runtime library for Guile Scheme.
status Should work with Guile 1.2 and above. Still needs some polising. Could be rewritten to use GOOPS.
maintainer Bill Janssen
authors Bill Nell
mailing-list ILU Mailing List
license Copyright (c) 1991-1999 Xerox Corporation. All Rights Reserved. Unlimited use, reproduction, modification, and distribution of this software and modified versions thereof is permitted. Permission is granted to make derivative works from this software or a modified version thereof. Any copy of this software, a modified version thereof, or a derivative work must include both the above copyright notice of Xerox Corporation and this paragraph. Any distribution of this software, a modified version thereof, or a derivative work must comply with all applicable United States export control laws. This software is made available AS IS, and XEROX CORPORATION DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND NOTWITHSTANDING ANY OTHER PROVISION CONTAINED HEREIN, ANY LIABILITY FOR DAMAGES RESULTING FROM THE SOFTWARE OR ITS USE IS EXPRESSLY DISCLAIMED, WHETHER ARISING IN CONTRACT, TORT (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, EVEN IF XEROX CORPORATION IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
requires guile
keywords CORBA IDL distributed systems OOP

category Libraries/X11
description Bindings for Xlib/Xt/Xp/Xt/Xm (Motif)
status version 1.0 released 2001/08/14
maintainer bil
authors Bill Schottstaedt
mailing-list CM mailing list To subscribe to the Common Music list, send mail to cmdist-request with Subject: subscribe your-email-address.
license GPL
keywords X11 Motif

location The Mixp home page NOT AV
category Libraries
description Mixp is an XML parser for Guile, built on top of James Clark's expat. It contains a low level, event-based interface which follows the expat API. It also offers more high-level interfaces to represent the contents of an XML file as Scheme lists.
status The current release of Mixp is 0.20000831. It should be considered as a beta version.
maintainer Thierry Bézecourt
authors Thierry Bézecourt
license Same license as expat, i.e. GPL or MPL, whichever you prefer
keywords XML expat language bindings

location SART NOT AV
category Libraries/Graphics
description a guile library for raytracing and high-complexity 3d modelling
status Stable and usable for daily rendering, but interface is going through rapid changes.
maintainer Miroslav Silovic
mailing-list sart-request(AT)
keywords graphics 3d rendering raytracing radiosity

category Libraries/Graphics
description This is a binding for the simage library, which provides import, export and simple manipulation of image files of various file formats. The binding can currently only be found in the simage CVS repository.
status experimental
maintainer larsa
authors Lars J. Aas and Peder Blekken
license Public Domain

category Libraries/Audio
description Bindings for sndlib
status version 13.4
maintainer bil
authors Bill Schottstaedt
mailing-list CM mailing list To subscribe to the Common Music list, send mail to cmdist-request with Subject: subscribe your-email-address.
license GPL
keywords audio sound synthesis

location The Sugar Homepage (NOT AV)
category Libraries/Language
description Sugar adds some syntactic sugar to the LISP reader of scheme, that is, indentation-sensitive syntax, without braces. It is a bit python-like.
status Fully functional. If there was any new features that could possibly go in here, I would continue developement... Otherwize: This is a ``finished'' product :)
maintainer Egil Möller
authors Egil Möller
license LGPL
keywords Syntax extension indentation python

location Russ McManus's home page
category Libraries/Database
description Bindings for Sysbase's dblib
maintainer Russ McManus
license GPL

location distribution directory (NOT AV)
category Libraries/Miscellaneous
description This directory contains ttn's personal scheme library, a collection of Guile Scheme code, and a methodology for its maintenance.
status ttn-pers-scheme-0.29 released 2002/01/12
maintainer Thien-Thi Nguyen
license GPL
requires guile-1.5.x
keywords miscellaneous

location guile contrib (NOT AV)
category Libraries/X11
description (mo)lesstif and Xaw widget bindings based on xscm. New version is thread friendly (for guile's built in qthreads), and has bindings for some neat widgets like SciPlot and XmHTML.
status Chris Bitmead offered to take this over, but has since lost interest; I am not sure if he is working on this anymore.
authors J. Satchell


These projects allow Guile to be called from other environments.

location The guile-for-ada homepage. NOT AV
category Exports/Libguile-High
description Ada bindings for the GUILE high-level library. The bindings allow GUILE to be invoked from Ada programs.
status Beta version 0.8.1. It works on my system, but it... (a) hasn't been tested elsewhere, (b) still needs bindings for a few more functions, (c) uses some rank kludges, (d) may get some API tweaks after I have more experience with it, and (e) lacks documentation, other than comments and examples.
maintainer Bobby D. Bryant
authors Bobby D. Bryant
license GPL, with an exception allowing non-GPL'd programs to link to the bindings and/or instantiate generics from them without becoming derivative works.
requires Currently based on GUILE 1.3. Also (obviously) requires an Ada compiler. (Known to work with GNAT 3.13p.)
keywords Ada bindings Scheme GUILE extension language scripting language


These projects are applications using guile: either C programs that allow extension via Scheme, or Scheme programs written for Guile.

location Guile Emacs (Kei's code only)
category Applications/Editors
description Modifying GNU Emacs to use Guile.
status We're working in two areas currently, and should eventually meet somewhere in the middle: <p> Ken is working on changing Emacs (using non-released FSF sources currently, sorry -- this was probably a mistake and should change after Emacs 21 comes out) to make Emacs use Guile objects (but not run Scheme code yet) internally at the lowest levels -- object representation, storage allocation, garbage collection, etc. This will allow most object types to be shared between Scheme and Lisp without having to translate. </p> <p> Kei is working on adding the ability to use Guile to program Emacs and access the Lisp system from the higher level, including a Scheme interaction mode. Version 0.3 was released in March 2000. </p> <p> Items left to investigate in the future: Translation of Emacs Lisp and bytecodes to Scheme. Replace existing Lisp evaluator. Make Emacs objects into a library for use by other projects. Performance work (definitely!). Thread support (fetch mail and news while editing files!). Rewriting the Emacs UI using existing Guile UI code (e.g., GTk). </p>
maintainer Ken Raeburn
authors Ken Raeburn & Keisuke Nishida
mailing-list guile-emacs(AT)
requires For testing or helping with some aspects of Ken's work, an account at the FSF is needed. Kei is distributing patches to Emacs 20 and has a public CVS repository.

location FEAST web site GONE
category Applications/Games
description an extensible toolkit for area-based simulation games, like city-administration simulators or empire-building strategy games, like Lincity or Freeciv
status In the early stages of development.
maintainer Lalo Martins
license GPL

Galway Html Editor
location Galway homepage GONE
category Applications/Editors
description An html editor based on guile-gtk.
status It handles most normal html entities and javascript, but the cascading style sheets and vrml bits are not currently implemented.
maintainer Ariel Rios
license GPL
requires guile-gtk

GNU Serveez
category Applications/Network
description GNU Serveez is a server framework; it provides routines and help for IP-based servers (TCP, UDP and ICMP) as well as "named pipes". It demonstrates portable network programming optimized for speed and reliability.
status version 0.1.3 released 2002/02/16
maintainer Stefan Jahn
authors Raimund Jacob, Martin Grabmueller and Stefan Jahn
mailing-list help-serveez
license GPL
requires GNU Guile version 1.3 or later

location GnuCash
category Applications
description A personal finance software package. The basic GnuCash engine is written in C, as is the base GTK user interface code. An increasing body of secondary functionality, includingreporting, data interchange, and budgeting is supportedvia the Guile scripting engine.
status The current release of GnuCash is 1.3.x; it is still undergoing many changes, but is beginning to be stable enough for everyday use.
maintainer Linas Vepstas
authors Linas Vepstas, Rob Browning, Jeremy Collins, Dave Peticola, Rob Clark, and a cast of thousands
mailing-list GnuCash Developers mailing list is the main list for GnuCash. To subscribe to the GnuCash list, send mail to gnucash-devel-subscribe(AT) . The message does not need to contain any commands.
license GPL
keywords Extension Language Scheme Interpreter

location Goose Home Page
category Applications/Math
description C++ statistical library with Guile bindings, will build on GSL
maintainer Jon Trowbridge
mailing-list Goose is discussed on theGuppi mailing list
license LGPL

category Applications/Simulation
description The GOSSIP project develops and maintains a simulation environment for use primarily in communications engineering and digital signal processing.
maintainer Marius Vollmer
authors Marius Vollmer
license GPL

guile projects list management code
location home page GONE
category Applications/Publishing
description This is the guile scheme code that maintains the guile projects list. There are configurations for as well for the subset of the list.
status version 1.12 released 2001/12/12
maintainer ttn
authors Greg Harvey and Thien-Thi Nguyen
license GPL

location Neil's Guile page
category Applications/Shell
description A collection of Guile Scheme code that aims to implement a graphical user interface for Guile
status Version 0.2: Currently just a Gtk widget-based equivalent of the command line Guile REPL
maintainer Neil Jerram
authors Neil Jerram
license GPL
requires CVS Guile dated March 7th 2001 or later, Standard Gtk libraries, guile-gtk

location Guppi
category Applications/Math
description Interactive/user-friendly plot/chart program with Guile scripting. Will probably have a command line version, possibly written in Guile. Builds on Goose and Goose bindings are available within the app.
maintainer Havoc Pennington
license GPL

location GUSH Home Page
category Applications/Shell
description A shell built around guile.
maintainer ttn
authors Gordon Matzigkeit

location guile/contrib/misc
category Applications/Devel
description A scheme->c compiler for guile.
maintainer Bernard Urban
authors Tanel Tammet Bernard Urban
license GPL

location LilyPond Homepage
category Applications/Publishing
description LilyPond generates beautiful music notation from an input file.
status 1.4 was released may '01. It produces excellent output and has good GUILE extensibility. LilyPond is actively developed in the 1.5.x development series.
maintainer Han-Wen Nienhuys Jan Nieuwenhuizen
license GPL
requires guile 1.3.4, python, TeX
keywords music notation engraving MIDI

location Logo->scheme GONE
category Applications/Translators
description A translator from Logo to Guile/Scheme
status Set aside while I work on Tcl->Scheme. It is in the middle of a rewrite as I try to save some of the Logo-ness of the resulting language and make it self-hosting (i.e., a Logo translator written in Logo).
maintainer Ian Bicking
license GPL

location distribution directory
category Applications/Development
description This directory contains mmci (multi-method check-in), a program that abstracts the "cvs add" procedure to also handle RCS files and Emacs-style backup files. Specifically, files already in CVS (as evidenced by their name appearing in CVS/Entries) are ignored, as are most files cvs normally ignores. The exception is Emacs-style backup files (foo, foo~, and foo.~N~), which are checked in with successive revisions based on the files' mtime. Files under RCS control (RCS/*,v) are copied directly. New files are checked into RCS temporarily and processed as such.
status mmci-0.9.3 released 2000/12/21
maintainer Thien-Thi Nguyen
license GPL
requires guile-1.4, ttn-pers-scheme-0.04
keywords cvs version-control emacs rcs

category Applications
description extensible textual turnbased fantasy role-playing game
status base engine and user frontend complete, many data files missing
maintainer Klaus Schilling
license GNU GPL
requires guile-1.3 GNU Emacs 20.* elib GNU Scientific Library 0.4
keywords game roleplay

location GNU Robots homepage
category Applications/Games
description A game/diversion where you construct a robot (using scheme) then set him loose and watch him explore a world.
status The current release of guile is 0.95; it is still undergoing many changes, but is stable enough for everyday use.
maintainer Jim Hall
authors Jim Hall
license GPL
keywords Game robots diversion

location ScIRC homepage GONE
category Applications/Network
description An IRC client written in Guile Scheme
status The release is delayed (again) until i've finished a library for the UI. I started with ScIRC to get used to Scheme, and learned alot since rewriting it (for the nth time)... I like it, and i'll continue it, but don't hold your breath for news about it.
maintainer forcer
authors forcer
license GPL
keywords IRC

location None yet
category Applications/Simulation
description simulation/ development environment for single flux quantum circuits. Implemented in xguile, with many features written entirely in scheme.
status This is (at present anyway) a purely in house project.
maintainer J. Satchell

location Scwm home page GONE
category Applications/X11
description An X11 window manager, configurable and extensible via guile.
authors Maciej Stachowiak Greg Badros
license fvwm2 and GPL mix

Siag Office
location Siag office
category Applications/Office
description a collection of ``office utilities'', including Siag (Scheme in a Grid), a spreadsheet; PW (Pathetic Writer), a word processor; and Egon Animator, an animation development tool.
maintainer Ulric Eriksson

category Applications/Sound
description Snd is a sound editor. It can be found at,, or
status Snd 5.0
maintainer Bill Schottstaedt
authors Bill Schottstaedt
mailing-list CM mailing list To subscribe to the Common Music list, send mail to cmdist-request with Subject: subscribe your-email-address.
license LGPL
keywords Sound Editor

location FEAST web site GONE
category Applications/Translators
description A translator for stack-based syntaxes like PostScript (sonya) plus a module with some PostScript operators (which I named jax).
status Very alphaish, but already useful (IMHO)
maintainer Lalo Martins
authors Lalo Martins
license GPL
keywords postscript

Sula PrimeriX II
location Sula Primerix homepage GONE
category Applications/Network
description An extensible IRC client for X
status As of release 0.09.2: The Guile/X11/IRC core is stable;the graphical scripting interface -SkriptX -is not yet completed
maintainer Tano Fotang
authors Tano Fotang
license GPL
keywords IRCX

location SWIG
category Applications/Development
description SWIG is the Simplified Wrapper and Interface Generator, which makes it fairly easy and painless to generate a scripting language interface or wrapper to a program written in C, C++, or Objective C. Guile is among the scripting languages supported.
status Guile support has improved a lot in the development series 1.3. Pointers are represented as smobs. (They used to be mangled into strings.) Memory leaks and type conversion bugs have been fixed. The Guile module system, including dynamic loading, and exceptions are supported. A typemap-driven procedure-documentation system has been added (requires Guile 1.4). Procedures-with-setters can be generated.
maintainer Dave Beazley
license BSD-style

location Tcl->scheme
category Applications/Translators
description A translator from Tcl to Guile/Scheme.
status Development in progress, but capable of doing quite a bit already (not quite sure of where to go with it next).
maintainer Ian Bicking
license GPL

location The TeXmacs homepage
category Applications/Editors
description TeXmacs is a free what-you-see-is-what-you-get scientific text editor, which was both inspired by TeX and Emacs. It is also possible to use TeXmacs as an interface to computer algebra systems. TeXmacs actually runs on PC's under Linux (a >200MHz processor and >32Mb of memory are recommended) and on sun computers. The program implements high quality typesetting using TeX fonts, but it is also provides a user friendly interface. The high typesetting quality also goes through for automatically generated formulas; this makes TeXmacs suitable as an interface for computer algebra systems. Finally, TeXmacs support Guile/Scheme as an extension language, which makes it possible to adapt the user interface to specific needs and even to extend the editor. Currently, the editor is more or less compatible with the TeX system and we are working on the interface with computer algebra systems. Subsequently, TeXmacs should also support graphics and some hypertext features.
status The current release of TeXmacs is 0.2.4f (beta)
maintainer Joris van der Hoeven
authors Joris van der Hoeven
license GPL
keywords Editor Guile Mathematics WYSIWYG

location THUD homepage GONE
category Applications/Simulation
description THUD is a register transfer level (RTL) simulation environment optimized for cycle-based designs. The design is expressed in TH, a Scheme-based hardware description language (HDL).
maintainer Thien-Thi Nguyen
license GPL


These projects are tools for or implemented with Guile. Mostly, these are the types of things that automate documentation or code generation.

location AutoGen Home Page
category Tools/Text
description AutoGen is a tool designed for generating program files that contain repetitive text with varied substitutions. Its goal is to simplify the maintenance of programs that contain large amounts of repetitious text. This is especially valuable if there are several blocks of such text that must be kept synchronized.
status AutoGen has just been made publicly available March 1, 1999. However, it has been under gradual development for several years, so it is quite solid. It is currently being beguiled, so a portion of the command syntax is subject to changing a few months down the road.
maintainer Bruce Korb
authors Bruce Korb and Gary V. Vaughan
license GPL for the AutoGen engine, LGPL for the POSIX and GNU compliant option processing
requires guile-1.4, ANSI-C
keywords Automated option processing documentation extraction code generation fixincludes fix include

location Greg
category Tools/Test-Suites
description A testing framework built around guile.
maintainer Richard Frith-Macdonald
license LGPL

Updated: 2002-02-19 08:41:06 UTC / ttn / guile-projects-1.12 configuration