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).
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.
The user manual is available in the following formats:
Development questions, issues and bug reports should all go to the mailing-list.
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 |
The source code repository can also be browsed on-line.