Dear Peter,
Thank you for your reply. And what really concerns me include these
following points:
1. SRFI-97 omitted lexical syntax modification and SRFI-261 inherits
its most rules basically, so these lexical syntax modification SRFIs
accordingly should be omitted.
2. I also asked myself if I have the ability, based on my experience,
to make a clear decision on the reader syntax and give each SRFI a
name. However I can't. Because my experience is mainly in Chez
Scheme, and as we all know, it mainly follows the R6RS standard.
R6RS standard doesn't seem to specify how to correctly process
reader syntax.
Peter, I agree with your thoughts on the reader syntax related proposals
and believe that they are an ultimate goal for many similar proposals,
including this one. However, I'm afraid this step should not be
accomplished by me and the proposal I wrote, but by more capable and
courageous individuals in the community.
Yours sincerely,
WANG Zheng
2025-07-12
在 7/12/25 05:19, Peter McGoron 写道:
Reader syntax is what the R6RS report calls "lexical syntax" (section
4 of R6RS). Reader syntax is stuff that the `read` procedure handles.
This is stuff like vectors, strings, symbols, and lists. Reader syntax
is different from syntax like `(lambda (x) ...)` or `syntax-rules`
(what R6RS calls the "program syntax") because reader syntax is
character based.
Some of the SRFIs add new reader syntax to Scheme, and the library
system in R6RS/R7RS has no way to import new reader syntax. However,
some of the SRFIs also add new procedures. SRFIs that add new
procedures should be given library names, because the new procedures
should be stored in a library.
For example, SRFI-4 adds #u8, #s16, #u32, etc. as reader syntax for
constant fixed-width vectors. It also adds u8vector-ref,
s16vector-ref, u32vector-ref, etc. as procedures. SRFI-261 should give
SRFI-4 a library name, because it has procedures that one could
import, even if it reader syntax modifications unspecified. That is
because I should be able to import `(srfi srfi-4)` or `(srfi
numeric-vectors-4)` and get those procedures.