William D Clinger wrote: > For interpreters, various segmented representations > provide O(1) amortized time for both, while avoiding > the all-or-nothing space dichotomy of the record2 > and record1 representations. > > Those are examples of the variable-width representations > that I would recommend to implementors of Scheme. This > isn't rocket science; it's just data structures.
The page you linked earlier proposes 7 different string representations. They have radically different best-case, expected-case, and worst-case performance. End users are left with no idea what to expect. R6RS strings are a grimacing caricature of an abstraction. It would be all right if more of the proposals were straw men, but in fact R6RS gives implementors really good reasons to go in at least two totally different directions: UTF-16 so they can use ICU and interoperate efficiently with other existing libraries; record2 or flat4 to conform with the report's recommendation on string-ref and thus support portable R6RS code that munges strings. In the quoted bit above, you act as though string-ref and string-set! are the only pieces of the puzzle. I think they're the easy pieces. -j _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
