> > I submit that all implementations MUST be case-preserving under
> > certain circumstances. Whatever is done to source code/data file input
> > MUST preserve case information if (a) the implementation provides a way
> > to retrieve the original symbols of the source data (i.e. the source
> > data is not compiled to something else entirely anyway), and (b) the
> > respective symbols are not mapped to another case explicitly.
> 
> With respect, that seems to me utterly incoherent as stated.  The essence
> of case-insensitivity is that foo and FOO are the same symbol; that is,
> when you "retrieve the original symbols of the source data" for these
> two spellings, they are eq? as symbols.  How then can they be both eq?
> and distinguishable?

Hm, perhaps my formulation was a bit misleading, although I can't really
see you're point here. My suggestion was that an implementation in
case-insensitive mode still must preserve the case of symbols, not that
foo and FOO have to be eq? 

I completely agree the two *symbols* should be eq? if the language is
set to being case-insensitive. But when you convert the symbols to
strings/unicode, foo has to yield "foo" and FOO has to yield "FOO", the
two strings not being string=? even when the language is set to being
case-insensitive. 

That's pretty much what case preserving means, isn't it?

--Erich


_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to