>> One is homogeneous vectors; the other is growable vectors. > > We have very different ideas about "fundamental." Both of your candidates > are efficiency hacks; from an expressiveness standpoint, "growable vector" > is just another name for "list."
No, they're abstraction boundaries. As abstraction boundaries they enable optimizations. In this particular case the optimizations could benefit a very wide range of algorithms. Perfect! How far do you want to go with the "efficiency hack" thing? All the way back to lambda calculus and Peano arithmetic? Or maybe just dump strings in favor of vectors? Good heavens--vectors? Lists are all we need! :-) > I expect people who are very concerned with efficiency to be WG2 customers. > WG1 customers are going to be more interested in expressiveness, simplicity, > and clarity. But you make it sound as if those two things have to conflict. If WG1 Scheme were to have u8 vectors, why not say they're derived from define-vector-type? Maybe the implementation takes advantage of that, maybe it doesn't--but I don't see a conflict. Indeed, it's much more elegant to my ears to hear: all of these things are really instances of this one underlying concept. They're guaranteed to behave the same way because of that unifying concept, that unifying definition. If that isn't simplicity...? _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
