On 16-May-08, at 5:01 PM, Craig Latta wrote:
Yes. As far as using streams as an example, I never understood
why support for write-only streams was ever needed. What's wrong with just assuming all streams are readable? Then this classic dilemma just goes away. It seems to me that whoever wrote the first internal streams implementation for Smalltalk simply got that part wrong, and no one questioned it for a long time. I wouldn't make this a primary motivating example for traits (hopefully there's a better one).
Heh - I've long had nearly the opposite question: Why was support for read-write streams ever needed? I can't recall *ever* using it in my own code, nor encountering it in anyone else's.
The one exception, of course, is SocketStream, and I think it proves the rule. I've had to dig into that code to implement a missing feature, and let me tell you... it's complicated. I'd much rather have seen clients use two separate streams, or even wrap them in a DuplexStream if having a single object is that important.
Colin