From: "Arthur A. Gleckler" <arthur_at_zurich.csail.mit.edu>
Subject: Re: [r6rs-discuss] [Formal] Scheme should not be changed to be case sensitive.
Date: Tue, 14 Nov 2006 11:18:17 -0800
> >> Does this mean that (eq? 'symbol 'SYMBOL) ==> #f ?
> >
> > Yes - that is the whole point.
>
> Of course. I was just checking to make sure that I understood. This
> change was added to the report with no rationale paragraph or any
> other explanation. It will require changing a lot of existing code.
I understand backward compatibility isn't the first priority of R6RS.
BTW, if you stick with case insensitivity, how do you handle cases
like this?
(eq? '$B&2(B '$B&R(B) => #t ;; U+03A3 (capital sigma) vs U+03C3 (small sigma)
(eq? '$B&2(B '$B&x(B) => #t ;; U+03A3 (capital sigma) vs U+03C2 (small final sigma)
(eq? '$B&R(B '$B&x(B) => ? ;; U+03C3 (small sigma) vs U+03C2 (small final sigma)
> Adding a syntax for interning case-sensitively, e.g. something like #|
> MixedCase|, and perhaps changing string->symbol to preserve case,
> should be enough to make the XML and foreign-function-interface uses
> you mention easy and convenient to implement without requiring a
> large change to Scheme.
I think string->symbol is already case-preserving in R5RS.
Here's a relevant discussion:
http://okmij.org/ftp/Scheme/SXML.html#Case-sensitivity%20of%20SXML%20names
--shiro
Received on Tue Nov 14 2006 - 14:42:16 UTC