24 lines
1.2 KiB
Plaintext
24 lines
1.2 KiB
Plaintext
|
The SRFI-10 structure defines an octothorpe reader syntax, comma, as specified
|
||
|
in SRFI 10. It also defines a procedure, DEFINE-READER-CONSTRUCTOR, for user-
|
||
|
defined reader constructors.
|
||
|
|
||
|
(DEFINE-READER-CONSTRUCTOR <symbol> <procedure>) -> unspecific ;procedure
|
||
|
Define SYMBOL to be a reader constructor, calling PROCEDURE at read-time;
|
||
|
that is, for any instances of #,(SYMBOL <arg> ...), PROCEDURE will be applied
|
||
|
to the arguments ARG ....
|
||
|
|
||
|
The test/ directory contains a couple of examples. A structure whose name is
|
||
|
of the form SRFI-10-TEST/<foo> corresponds to test/<foo>.scm.
|
||
|
|
||
|
This implementation of SRFI 10 is not perfect: it will give errors regarding
|
||
|
invalid data in quotations if your reader constructors construct anything that
|
||
|
isn't an S-expression, and all that's only if you quote those; if you don't
|
||
|
quote the things, you'll get even worse errors.
|
||
|
|
||
|
There is one built-in reader constructor:
|
||
|
|
||
|
#,(DEFINE-READER-CONSTRUCTOR <name> <procedure-expression>) ;reader constructor
|
||
|
Just like the DEFINE-READER-CONSTRUCTOR procedure, except that NAME must be a
|
||
|
literal symbol, and this operates at read-time. PROCEDURE-EXPRESSION will be
|
||
|
evaluated in the what interaction environment is in state during read-time.
|