[r6rs-discuss] Case-Sensitivity Optional, Case-Preservation Mandatory
bh at eecs.berkeley.edu
Mon Feb 23 19:01:33 EST 2009
John Cowan says:
> I hereby dub this "Non-Cartesian Scheme"
I love it! I would be proud to program in a Scheme with that name.
(We lefties are supposed to hate Descartes anyway, because of the mind/body
duality stuff. :-)
> 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.
Discernibility of identicals does sound strange, when you put it that way,
but to me it feels analogous to the situation when it turned out that
multiplication of quaternions wasn't commutative, or when it turned out
that fast-moving objects don't follow Newton's laws: It's weird, but when
you plug in all the empirical facts and all the requirements and all the
axioms, that's what pops out, and you learn to embrace it. There's nothing
logically incoherent about this approach, is there? (As I said, it's what
Logo does, so I know it can work, but I'm not sure it wouldn't somehow
founder on the reefs of macrology like so many other things. :-)
P.S. As I mentioned before, I'd like to be able to turn this feature on
or off (depending on what the default turns out to be) not only statically
within a file, which is portability-safe and therefore, I think, R6-friendly,
but also dynamically, from the REPL, if one is willing to lose portability
by so doing.
P.P.S. I said I was giving up on case-insensitivity, but that was before
I learned that Unicode already knows how to "normalize" characters in
different languages, and that (I think I learned this) it's the folding
that's problematic for the Turks, rather than the insensitivity per se.
More information about the r6rs-discuss