deprecating std.stream, std.cstream, std.socketstream

Steven Schveighoffer schveiguy at yahoo.com
Wed May 16 11:00:43 PDT 2012


On Wed, 16 May 2012 13:48:49 -0400, Andrei Alexandrescu  
<SeeWebsiteForEmail at erdani.org> wrote:

> On 5/16/12 12:34 PM, Steven Schveighoffer wrote:
>> In other words, ranges aren't enough.
>
> This is copiously clear to me, but the way I like to think about it is  
> by extending the notion of range (with notions such as e.g.  
> BufferedRange, LookaheadRange, and such) instead of developing an  
> abstraction independent from ranges and then working on stitching that  
> with ranges.

What I think we would end up with is a streaming API with range primitives  
tacked on.

- empty is clunky, but possible to implement.  However, it may become  
invalid (think of reading a file that is being appended to by another  
process).
- popFront and front do not have any clear definition of what they refer  
to.  The only valid thing I can think of is bytes, and then nobody will  
use them.

That's hardly saying it's "range based".  I refuse to believe that people  
will be thrilled by having to 'pre-configure' each front and popFront call  
in order to get work done.  If you want to try and convince me, I'm  
willing to listen, but so far I haven't seen anything that looks at all  
appetizing.

-Steve


More information about the Digitalmars-d mailing list