This page is part of the web mail archives of SRFI 75 from before July 7th, 2015. The new archives for SRFI 75 contain all messages, not just those from before July 7th, 2015.
Thomas Lord <lord@xxxxxxx> writes: > The problem that T.B. didn't call out where he should have there > (though I'm pretty sure he knows about it) is that the character > and string primitives are not really orthogonal to either the > surface syntax of the language or to communication between scheme > programs using the standard READ and WRITE procedures. Yes, I agree about this, but I have been focusing more on the semantics of the programming language and less on the details of its lexical structure. So of course I agree that a fancy-schmancy system should be allowed to have identifiers in whatever natural language, not just those which use the Latin alphabet. The current standard is great for English speakers, passable for Europe and the rest of the Americas, tough for a language with as aggressive diacritics as Vietnamese, and totally unsuitable for Indian languages, other Asian languages, those who use Cyrillic or Greek, and so forth. > Therefore, if the character and string functions are "crude" > with respect to natural language, then an implementation > *can not* (cleanly, simply) allow identifier names which are > globally-natural-language-friendly except in a crude way. This is correct, I believe. We should have a standard which allows implementations (if they wish) to meet this high standard; it is my own high standard as well. I am sensitive to the "embedded systems" argument, but that's solvable. I would like to propose a concrete way of thinking about this, but haven't had the time to write it down. The basic idea is for the standard to *not* specify what a CHAR is, but to require certain things about CHARs, and to establish documentation requirements. We do not have the experience to know whether Vietnamese users want diacritic-folding in symbol names. We should not presume to dictate in a standard how that will go until we know the right answer. Thomas