Scheme language standardization process
On 01/24/2012 11:04 AM, John Cowan wrote: > Ray Dillinger scripsit: > >> It's not clear to me that, in a unicode universe, there's a useful >> distinction between characters and strings of length 1. At the very >> least, character operations such as case and other such mappings >> are not closed on the set of single codepoints, which makes >> treating "character" separately from "string" semantically >> dubious. > > I agree wholeheartedly. Unfortunately, characters and mutable strings are > IEEE Scheme features, so the bar for removing them is very high. Both > R6RS and R7RS make character and string casing operations inconsistent: > \#ß upcases to itself, whereas "ß" upcases to "SS". (There is a capital > sharp S in Unicode, but it is normally used only in display text such > as headlines; it downcases to the ordinary sharp S but not vice versa, > so in this respect Unicode is intentionally self-inconsistent.) In other words: mutable fixed-length strings are effectively useless, but we have to have mutable strings. Solution: make them variable-length. That just requires adding a few functions like string-replace-substring to make mutable strings into something actually usable. The normal implementation could be a simple buffer-gap. Is there an prior art for doing anything like that? I'm inclined to do this for Kawa, whatever R7RS does. -- --Per Bothner per@x http://per.bothner.com/ _______________________________________________ Scheme-reports mailing list Scheme-reports@x http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports