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

Lars T. Kyllingstad public at kyllingen.net
Tue May 15 08:22:02 PDT 2012


On Tuesday, 15 May 2012 at 02:56:20 UTC, Walter Bright wrote:
> On 5/14/2012 8:02 AM, Steven Schveighoffer wrote:
>> I keep trying to avoid talking about this, because I'm writing 
>> a replacement
>> library for std.stream, and I don't want to step on any toes 
>> while it's still
>> not accepted.
>>
>> But I have to say, ranges are *not* a good interface for 
>> generic data providers.
>> They are *very* good for structured data providers.
>>
>> In other words, a stream of bytes, not a good range (who wants 
>> to get one byte
>> at a time?). A stream of UTF text broken into lines, a very 
>> good range.
>>
>> [...]
>
> I'll say in advance without seeing your design that it'll be a 
> tough sell if it is not range based.
>
> I've been doing some range based work on the side. I'm 
> convinced there is enormous potential there, despite numerous 
> shortcomings with them I ran across in Phobos. Those 
> shortcomings can be fixed, they are not fatal.
>
> [...]

I have to say, I'm with Steve on this one.  While I do believe
ranges will have a very important role to play in D's future I/O
paradigm, I also think there needs to be a layer beneath the
ranges that more directly maps to OS primitives.  And as D is a
systems programming language, that layer needs to be publicly
available.  (Note that this is how std.stdio works now, more or
less.)

-Lars


More information about the Digitalmars-d mailing list