I am posting this as an individual member of the Scheme community. I am not speaking for the R6RS editors, and this message should not be confused with the editors' eventual formal response.
Jason Oredorff wrote: > I looked at a handful of Schemes and it certainly appears they all > keep each string in a single buffer. I could be wrong. I doubt it. The main reason is that, in the past, keeping the characters of each string in a single contiguous array was a workable design. With the current draft R6RS, the tradeoffs bring other designs into play. > If you want to provide (say) regular expressions using an existing > native library, it's crazy not to have your strings in a single buffer. Some of the better external libraries do not keep all characters of a string in a single contiguous array [1]. Non-contiguous representations would be more popular if not for legacy problems in C. > If your Scheme is written in Java or C#, it's impractical not to use > the system string type. Java and C# strings have no analogue of string-set!. It is therefore impractical to use their string type naively. At Brandeis, way back in 1984, I was just about the only person there who thought it would be better for strings to be immutable. That idea was treated with contumely. How times have changed. Will [1] http://www.and.org/vstr/comparison _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
