Erich Rast scripsit:

> I completely agree the two *symbols* should be eq? if the language is
> set to being case-insensitive. But when you convert the symbols to
> strings/unicode, foo has to yield "foo" and FOO has to yield "FOO", the
> two strings not being string=? even when the language is set to being
> case-insensitive. 

Ah, I think I see.  You want a Scheme in which symbols which differ in
case are identical (in the sense of eq?) but discernible (by calling
symbol->string and string=?).  I hereby dub this "Non-Cartesian Scheme",
since Decartes was the first to make heavy use of the indiscernibility
of identicals.

That is not at all what pre-R6RS Schemes do: Foo and foo are spellings
of the same identical and indiscernible symbol.  And although Scheme
breaches the identity of indiscernibles (#\A and #\A may or may not be
identical in the sense of eq?, though they are indiscernible otherwise),
it still abides by the indiscernibility of identicals.

> That's pretty much what case preserving means, isn't it?

IMHO no.  A case-preserving file system (like, okay, the *Win32 overlay*
on NTFS) does not allow you to have two files differing only in name
that are the same; it isn't even clear what "the same" would mean in
such a context, since files have a lot more attributes than symbols.

-- 
John Cowan  [email protected]    http://ccil.org/~cowan
Big as a house, much bigger than a house, it looked to [Sam], a grey-clad
moving hill.  Fear and wonder, maybe, enlarged him in the hobbit's eyes,
but the Mumak of Harad was indeed a beast of vast bulk, and the like of him
does not walk now in Middle-earth; his kin that live still in latter days are
but memories of his girth and his majesty.  --"Of Herbs and Stewed Rabbit"

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

Reply via email to