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