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