>> 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

Reply via email to