[r6rs-discuss] [Formal] Scheme should not be changed to be case sensitive.

From: Shiro Kawai <shiro>
Date: Tue Nov 14 14:42:20 2006

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

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:00 UTC