John Cowan wrote: > Anton van Straaten scripsit: > >> Right. But the question is, should it be possible to implement all >> those things in Scheme, without having to resort to coding in some lower >> level or host language? If the answer is yes, then you still need >> something like first-class continuations. The same argument applies to >> (something like) threads. > > Possible is one thing, sensible is another. It's possible to implement > blobs with ordinary general vectors, if you don't mind paying the price.
The mandate for Small Scheme argues for including general low-level features, even if they're more possible than sensible. For example, first-class continuations are very useful for education about control flow, which would still be true even if it wasn't sensible to use them to implement real control flow mechanisms. Of course, in the continuations case there's plenty of evidence that they're sensible too. So the possible vs. sensible warning may or may not be an issue, depending on the specifics. My point is not to defend any particular conception of "threads" (since it depends greatly on which conception we're discussing), but rather that general features that seem too low-level for application development shouldn't necessarily be rejected on those grounds. Having a gap between core language features and application development requirements isn't a problem if the gap can be filled by libraries. In "Possible Scheme", those libraries can be implemented in pure Scheme. Some implementations of "Sensible Scheme" might choose a less abstract approach. Anton _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
