Libraries
This page lists free software projects that use or enhance the current stable version of Guile. To have your project listed here or to contribute, ask for instructions on the guile-user mailing list.
Core
These projects modify or enhance the innards of Guile.
Guile-lib
Guile 2.0Guile 1.8
Guile-Lib is intended as an accumulation place for pure-scheme Guile modules, allowing for people to cooperate integrating their generic Guile modules into a coherent library. Think "a down-scaled, limited-scope CPAN for Guile".
License: LGPL 2.1 or later
Guile-lint
Guile 1.8
Syntactic and semantic checks on Guile 1.8 programs and modules. Picks up things like unbound variables in hard-to-reach places (note that Guile 2.0 brings part of Guile-Lint's functionality through its compiler warnings.)
License: GPL 2 or later
Guile-Reader
Guile 2.0Guile 1.8
Guile-Reader is a toolkit to build readers for Guile, making it easy to extend the syntax. It makes it possible to have several coexisting readers, recognizing different syntaxes.
License: LGPL 2.1 or later
Guile syntax parse
Guile 2.0
Guile syntax parse is a port of Racket's syntax parse for Guile 2. It allows one to parse complex syntax expressions correctly and with good error reporting in a hygienic way. The recommending reading for anyone interested to learn more is the Racket documentation for syntax parse at Racket doc.
License: LGPL 2 or later
Graphical User Interfaces
Projects that provide support for the creation of graphical user interfaces (GUIs).
GNU Guile-Clutter
Guile 2.0
Guile wrapper for GNOME Clutter library. Clutter is a Scene Graph based canvas working in Retained Mode. Every object on the scene is usually a 2D surface inside a 3D space.
License: GPL 2 or later
GNU Guile-Gnome
Guile 2.0
Guile wrapper collection for GNOME core libraries. It provides a comprehensive environment for developing modern graphical applications.
License: GPL 2 or later
GNU Guile-GTK
Guile 1.8
Guile-GTK provides bindings to the GTK+ toolkit from Guile 1.8.
License: GPL 3 or later
GNU Guile-Ncurses
Guile 2.0
GNU Guile-Ncurses is a Guile library that provides functions for creating text user interfaces. The text user interface functionality is built on the ncurses libraries: curses, form, panel, and menu.
License: GPL 3 or later
GNU Guile-SDL
Guile 2.0
Guile-SDL is a set of modules that provide bindings for SDL (Simple DirectMedia Layer) to enable Guile programmers to do all the nice things you can do with SDL.
License: GPL 3 or later
libRUIN
Guile 2.0
libRUIN (Renderer for User Interfaces in Ncurses) is a rendering library for various XML-based user interface markup languages (such as Mozilla XUL), using the Ncurses terminal control library as a rendering target. GNU Guile and the SDOM Scheme module are used as the "glue" that manages user input and event handling.
License: GPL
File formats
Tools and libraries to read and produce specific file formats.
Networking
These projects provide Guile modules for networking.
GNU Artanis
Guile 2.0
Web Application Framework (WAF) with support for templates, MVC, relational mapping, and more.
License: GPLv3+ and LGPLv3+
GnuTLS
Guile 2.0
Guile bindings for the GnuTLS library, an implementation of the Transport Layer Security (TLS) protocol.
License: LGPL 3 or later
Guile-Avahi
Guile 1.8
Bindings for Avahi, an implementation of the mDNS and DNS-SD protocol. The latter provides service discovery mechanisms.
License: LGPL 3 or later
GNU Guile-RPC
Guile 2.0
GNU Guile-RPC is an implementation of ONC RPC and XDR (standardized as RFC 1831 and RFC 4506) in Guile Scheme, and for use by Guile programs.
License: LGPL 3 or later
SCSS
Guile 2.0
SCSS is an implementation in Scheme of the W3C CSS recommendation (version 2.1). It provides a framework for parsing user-supplied style information and for querying the resulting cascade using SXML/SDOM documents or plain text.
License: GPL
Tools
These projects are tools for or implemented with Guile. Mostly, these are the types of things that automate documentation or code generation.
GNU AutoGen
Guile 2.0
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.
License: GPL for the AutoGen engine, LGPL for the POSIX and GNU compliant option processing
GNU Guix
Guile 2.0
GNU Guix is a purely functional package manager, and associated distribution of the GNU system. In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. It provides Guile Scheme APIs, including high-level embedded domain-specific languages (EDSLs), to describe how packages are to be built and composed.
License: GPL 3 or later
Libchop
Guile 2.0
Libchop is a set of utilities and library for data backup and distributed storage. Its main application is chop-backup, an encrypted backup program that supports data integrity checks, versioning at little cost, distribution among several sites, selective sharing of stored data, adaptive compression, and more. The library itself, which chop-backup builds upon, implements storage techniques such as content-based addressing, content hash keys, Merkle trees, similarity detection, and lossless compression. It is written in C and Scheme, with Guile 2.0 bindings.
License: GPL 3 or later
Applications
These projects are applications using Guile: either C programs that allow extension via Scheme, or Scheme programs written for Guile.
Beast
Guile 2.0
Beast is a music composition and synthesis tool.
License: GPL 2 or later, LGPL 2.1 or later
GNU GDB
Guile 2.0
GDB is the GNU debugger. With it, you can monitor what a program is doing while it runs or what it was doing just before a crash. It allows you to specify the runtime conditions, to define breakpoints, and to change how the program is running to try to fix bugs. It can be used to debug programs written in C, C++, Ada, Objective-C, Pascal and more.
License: GPL 3 or later
gEDA (GPL Electronic Design Automation)
Guile 2.0
The gEDA project provids a full GPL-licensed suite of electronic design tools, including schematic capture, simulation, prototyping and production. Guile is used for extensibility and customisation of many gEDA applications.
License: GPL 2 or later
GNU Lilypond
Guile 1.8
LilyPond generates beautiful music notation from an input file.
License: GPL
Skribilo
Guile 2.0Guile 1.8
Skribilo is a document authoring system that can produce output in a variety of formats including HTML and PDF from a single input format. It is implemented in Scheme and highly customizable and programmable.
License: GPL 2 or later
Snd
Guile 2.0
Snd is a sound editor.
License: LGPL
GNU TeXmacs
Guile 2.0
GNU TeXmacs is a free WYSIWYW editing platform with special features for scientists. The software aims to provide a unified and user friendly framework for editing structured documents with different types of content (text, graphics, mathematics, interactive content, etc.). The rendering engine uses high-quality typesetting algorithms so as to produce professionally looking documents, which can either be printed out or presented from a laptop. New presentation styles can be written by the user and new features can be added to the editor using the Scheme extension language.
License: GPL
XChat-Guile
Guile 2.0
XChat-Guile is a plugin for XChat that enables XChat plugin writers to write their plugins in Scheme language. Since it uses libguile, the plugin writers can do almost everything that they can do with guile. e.g It is possible to do all kinds of gnome stuff using the guile-gnome modules.
License: GPL