deprecating std.stream, std.cstream, std.socketstream
Lars T. Kyllingstad
public at kyllingen.net
Tue May 15 08:25:26 PDT 2012
On Tuesday, 15 May 2012 at 15:22:03 UTC, Lars T. Kyllingstad
wrote:
> 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.)
Also, I wouldn't mind std.*stream getting deprecated.
Personally, I've never used those modules -- not even once. As a
first step their documentation could be removed from dlang.org,
so new users aren't tempted to start using them. No
functionality is better than poor functionality, IMO.
-Lars
More information about the Digitalmars-d
mailing list