> > 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
