D 2015/2016 Vision?
bitwise via Digitalmars-d
digitalmars-d at puremagic.com
Tue Oct 6 19:57:51 PDT 2015
On Wednesday, 7 October 2015 at 02:41:12 UTC, Walter Bright wrote:
> On 10/6/2015 7:04 PM, bitwise wrote:
>> On Wednesday, 7 October 2015 at 01:27:27 UTC, Walter Bright
>> wrote:
>>> On 10/4/2015 11:02 AM, bitwise wrote:
>>>> For example, streams.
>>>
>>> No streams. InputRanges.
>>
>> This is too vague to really respond to. It does serve as an
>> example of the
>> over-emphasis on ranges in the D community. Ranges are great,
>> but not for
>> everything.
>
> What can a stream do that a range cannot?
I was trying to make my case for polymorphism, so I haven't
thought much about streams specifically, but one obvious thing
that stands out is growing on demand.
Stream s = new Stream(4);
s.write(1);
s.write(2); // underlaying buffer grows automatically
I don't see how you would do something like this with a range.
When it comes to an InputRange, I suppose you're right. A
BinaryReader could be generalized to read any range.
Again though, if I have to restate what I've been arguing for as
simply as possible, it's that I want to use RAII and polymorphism
at the same time, as a natural language solution. DIP74 would
satisfy everything I'm asking for.
I've detailed my reasoning in this thread already, but structs
alone, and structs wrapping classes are not goods solutions.
Bit
More information about the Digitalmars-d
mailing list