[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: strings draft



At 22 Jan 2004 18:09:55 -0800, Thomas Bushnell, BSG wrote:
> 
> The latter is done by doing both of the following:
>   a) Case mapping is a function on strings, not characters, and which
>      can change length, and
>   b) Case mapping is locale dependent, so at least some extra "locale"
>      object needs to be passed to the functions.  I would envision
>      this being analogous to the existing "environments" for the
>      specification of eval.

And/or use an implicit (current-locale) as in my response on c.l.s. (I'm
responding there on the general R6RS issues, not commenting on the C
FFI).

> >   	char-alphabetic?
> >   	char-numeric?
> >   	char-whitespace?
> >   	char-upper-case?
> >   	char-lower-case?
> 
> The last two of these are local-dependent as well, I think.

Actually, they're not, Unicode has two disjoint properties called
uppercase and lowercase.  As in a recommendation I made a while back on
c.l.s. it may be worth considering changing these procedures to

  char-white-space?
  char-uppercase?
  char-lowercase?

since not only do they match the Unicode names for these properties, but
they are more correct English.  "uppercase" and "lowercase" are proper
English words (going back to Webster's 1913 dictionary) whereas
"whitespace" is not an English word.

-- 
Alex