Thomas Lord wrote:

How would you reconcile your category of "reasonable implementation"
with all of the complexity-varying, all useful approaches to implementing
string-ref that people talk about?

Isn't this part of why strings is so controversial. Different people want to implement them in different ways and at the same time be able to access parts of them in a efficient way.
Yes, some of that language probably needs cleaned-up, with particular attention to the "must v. should" distinction. My gosh, if we were to get to that point before the end of this year, in my view, it'll probably be evidence that R6 is
shaping up nicely.

It would make it harder to use Scheme as a way to talk about algorithms and their efficiency if we cannot do some basic assumptions about the underlying Scheme implementation. Of course one could always say things like: "On a reasonable implementation this algorithm would be O(n)".
It may be handy to think about observables.   In some sense, the meaning
of a program is how it modulates its output ports and responds to modulations of its input ports. There are some temporal constraints that relate those but mostly in the sense of modeling causality, not performance. It's useful to talk about atemporal mathematical objects that relate those modulations and that's the level of description I'd expect from a formal semantics. Formal operational models, of which it appears their can be many useful ones with critical differences among them, are interesting when we can see that they
in fact satisfy the formal semantic constraints.
It is also interesting to watch how the user alters the semantics of a program by terminating it prematurely when it fails to respond to user interaction.

/Mikael


_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to