On Nov 14, 2006, at 11:42 AM, Shiro Kawai wrote:
> I understand backward compatibility isn't the first priority of R6RS.
Absolutely.  But neither should it be ignored when it makes a  
difference.
> BTW, if you stick with case insensitivity, how do you handle cases
> like this?
>
> (eq? '? '?) => #t ;; U+03A3 (capital sigma) vs U+03C3 (small sigma)
> (eq? '? '?) => #t ;; U+03A3 (capital sigma) vs U+03C2 (small  
> final sigma)
>
> (eq? '? '?) => ?  ;; U+03C3 (small sigma) vs U+03C2 (small final  
> sigma)
U+03c2 is a fine canonical choice here.  Why can't they all be eq?
>> 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
Excellent.  Thanks.  Then we only need a case-preserving reader macro.
Received on Tue Nov 14 2006 - 14:56:41 UTC