Guile-Reader: An Extensible Reader Framework for GNU Guile

Guile-reader is a simple framework for building readers for GNU Guile.

The idea is to provide an extensible, yet fast, reader for Guile, thereby allowing for the rapid implementation of a variety of syntax variants. Guile already provides facilities for extending its reader (namely read-hash-extend and read-enable) but these seem (i) quite limited and (ii) have a global impact (there is only one instance of read).

Guile-reader aims to provide a way to easily define new readers, while allowing the re-use parts of a standard Scheme reader. New reader components (called "token readers") may be defined either as Scheme procedures or C functions. It achieves performance comparable to that of Guile's built-in reader.

Guile-reader's approach is similar to Common Lisp's "read table" but hopefully more powerful and flexible (for instance, one may instantiate as many readers as needed).

Availability

Guile-Reader is free software, distributed under the terms of the GNU General Public License. Releases are available from here.

It requires GNU Guile 1.8.x. To compile it, GNU Gperf is needed; GNU lightning 1.2c or later is also recommended on supported architectures.


Documentation

The user manual is available in the following formats:


Mailing List

Development questions, issues and bug reports should all go to the mailing-list.


Development

General information is available on the Savannah project page.

Development is managed using the Git distributed revision control system. A copy of the source code repository can be obtained using the following incantation:
git-clone git://git.sv.gnu.org/guile-reader.git
You can then happily hack on your side and eventually promote your changes on the mailing-list.

The source code repository can also be browsed on-line.


(made with skribilo)