I have long been annoyed that Scheme does not allow
a program to be indented without changing its meaning,
and was working on a comment to fix that, when I noticed
that (I think) it has already been done in formal comment #9.

Am I right in thinking that the intention of the change
described there is that

  (string=? "This is\
            \ a string" "This is \
             a string" "This is a string")

must be true?  (The response to comment #9 [1] confuses me.)

Should not (page 13)

  <string element> -> ...
    | \<intraline whitespace> <line ending> <intraline whitespace>
  <intraline whitespace> -> <character tabulation>
    | <any character whose category is Zs>

Have a Kleene star in there somewhere?  E.g. either

  <string element> -> ...
    | \<intraline whitespace>* <line ending> <intraline whitespace>*

or 

  <intraline whitespace> -> ( <character tabulation>
    | <any character whose category is Zs> )*

otherwise you are requiring exactly one space on each side
of a line break within a string?



[1] Formal comment #9:

> However, there is no problem, since \<space> is useless - I see no
> specification for an escape sequence that might need such a
> terminator.
> 
> RESPONSE:
> 
> Agreed. The \<space> terminator was meant to work with
> \<linefeed><intraline whitespace> in the case that the continuation
> should start with a whitespace. However, \x escapes can serve that
> purpose equally well.

   -- Keith

_______________________________________________
r6rs-discuss mailing list
r6rs-discuss@lists.r6rs.org
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to