-
Notifications
You must be signed in to change notification settings - Fork 0
License
gitGNU/gnu_guile-reader
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Guile-Reader, an extensible, fast, reader framework for GNU Guile ================================================================= Introduction ------------ The idea: provide an extensible, yet fast, reader for Guile, GNU's Scheme interpreter library. Guile currently provides limited extensibility of its reader, by means of `read-hash-extend', for instance, or `read-enable' and the likes. Moreover, while this may not always be desirable, those extension facilities have a global effect, changing the behavior of the sole reader implementation available at run-time. This makes it impossible to have, for instance, one module consider names starting with `:' as symbols, while another considers them as keywords. Extensions such as the read syntax for SRFI-4 numeric vectors had to be added to Guile's built-in C reader. Syntactic extensions that did not appeal the majority of users, like Emacs-Lisp vectors, are #ifdef'd within the reader code and are not available by default. Moreover, some extensions are incompatible with each other, such as the DSSSL keyword syntax and the SCSH block comments. In short the current reader syntax is hardly extensible. The point here is to be able to create a completely customizable Scheme reader using basic building-blocks such as an R5RS string reader, an S-exp reader, etc., or even user-defined readers. In order to achieve performance equivalent (or better?) to Guile's C hand-coded reader, Guile-Reader relies on GNU lightning to compile readers to native code. For compatibility, a lightning-free, slower implementation is available for platforms not supported by lightning. Availability ------------ Guile-Reader is available under the GNU General Public License, version 2 or later, at your option (see file `COPYING'). It is hosted by Savannah at: http://savannah.nongnu.org/projects/guile-reader/ If you want do discuss about it, do not hesitate to subscribe to the `guile-reader-devel' mailing list from there. Source code if managed using Git (http://git.or.cz/). A copy of the repository can be obtained using: git clone git://git.sv.gnu.org/guile-reader.git Alternatively, the repository can be browsed online at: http://git.sv.gnu.org/gitweb/?p=guile-reader.git;a=summary Happy hacking! Installation ------------ Guile-Reader is written for Guile 1.8.x. For optimal performance, you may want to get GNU lightning 1.2c or later, but not lightning 2.x, which is not supported yet. Thanks in advance for your feedback! :-) Copyright 2005, 2006, 2007, 2008, 2015 Ludovic Courtès <ludo@gnu.org> Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. ;;; Local Variables: ;;; mode: text ;;; coding: utf-8 ;;; End:
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published