On Wed, 2009-09-09 at 06:10 -1000, Shiro Kawai wrote:

> Just a remainder of a small detail: We'll need to clearify
> whether |...| only escapes an entire symbol or it can escape
> a part of a symbol.

> That is, should |foo|n|baz| be parsed as three symbols,
> foo, n, and baz, or a single symbol foonbaz?
> CL uses the latter.  Gauche uses the former.  

It looks like an error to me.  I see |...| as escaping 
a whole symbol, and expect any uses of | in the middle 
of that symbol to require an escape with a backslash, 
which eliminates the first case.

Also, I see | as *not* counting as a delimiter, so 
separate identifiers would still need to be separated 
by actual delimiters (whitespace or parens) which 
eliminates the second case.  

Presumably the user using the above form is in a 
default-upper-case casefolding scheme; otherwise none 
of these identifiers require escapes.  And in such 
an implementation, 

If the user meant... He shoulda typed ...

identifier/s          syntax
"foonbaz"             |foonbaz|         ;; case 1 
"foo n baz"           |foo n baz|       ;; case 2
"foo|n|baz"           |foo\|n\|baz|     ;; case 3
"foo","n","baz"       |foo| |n| |baz|   ;; case 4

case 1 is a lowercase identifier.

case 2 is a lowercase identifier with 2 spaces in the name.  

case 3 is a lowercase identifier with 2 (escaped, so they don't
terminate the symbolquoting form) vertical bars in the name.

case 4 is 3 different lowercase identifiers, and therefore 
separately escaped and separated by whitespace.

                                Bear



_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to