[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: strings draft
At 22 Jan 2004 19:12:28 -0800, Thomas Bushnell, BSG wrote:
>
> So my proposal is: drop the char-ci* functions entirely. Add locale
> arguments to the string-ci* functions. And then say:
>
> "Two scheme identifiers are the same if they match with the string-ci*
> function in the locale returned by (scheme-standard-locale). It is
> guaranteed that in this locale, a..z are not distinguished by
> string-ci* from A..Z, and that all other characters required to exist
> by the standard are distinguished from these and each other."
Scheme identifiers are case-sensitive, it's just the reader that by
default performs a case-mapping. From R5RS:
(eq? 'bitBlt (string->symbol "bitBlt"))
==> #f
So to be consistent with this we should change the paragraph under
lexical conventions which reads:
Upper and lower case forms of a letter are never distinguished except
within character and string constants. For example, `Foo' is the same
identifier as `FOO', and #x1AB is the same number as #X1ab.
to something like
Upper and lower case forms of a letter are never distinguished except
within character and string constants. For example, `Foo' is the same
identifier as `FOO', and #x1AB is the same number as #X1ab. The case
mapping or comparison procedures used for this use
(scheme-standard-locale) as the locale argument.
--
Alex