std.stream replacement

Steven Schveighoffer schveiguy at yahoo.com
Sat Dec 14 06:53:00 PST 2013


On Thu, 04 Jul 2013 22:53:46 -0400, Tyler Jameson Little  
<beatgammit at gmail.com> wrote:

> On Saturday, 9 March 2013 at 02:13:36 UTC, Steven Schveighoffer wrote:
>>
>> I think a range interface works great as a high level mechanism.  Like  
>> a range for xml parsing, front could be the current element, popFront  
>> could give you the next, etc.  I think with the design I have, it can  
>> be done with minimal buffering, and without double-buffering.
>>
>> But I see no need to use a range to feed the range data from a file.
>>
>> -Steve
>
> I agree with this 100%, but I obviously am not the one making the  
> decision.
>
> My point in resurrecting this thread is that I'd like to start working  
> on a few D libraries that will rely on streams, but I've been trying to  
> hold off until this gets done. I'm sure there are plenty of others that  
> would like to see streams get finished.
>
> Do you have an ETA for when you'll have something for review? If not, do  
> you have the code posted somewhere so others can help?

I realize this is really old, and I sort of dropped off the D cliff  
because all of a sudden I had 0 extra time.

But I am going to get back into working on this (if it's still an issue, I  
still need to peruse the NG completely to see what has happened in the  
last few months). I have something that is really old but was working. At  
this point, I wouldn't recommend reading the code, just the design, but  
it's in my github account here:

https://github.com/schveiguy/phobos/tree/new-io2

Wow, it's 2 years old. Time flies.

> The projects I'm interested in working on are:
>
> - HTTP library (probably end up pulling out some vibe.d stuff)
> - SSH library (client/server)
> - rsync library (built on SSH library)
>
> You've probably already thought about this, but it would be really nice  
> to either unread bytes or have some efficient way to get bytes without  
> consuming them. This would help with writing an "until" function (read  
> until either a new-line or N bytes have been read) when the exact number  
> of bytes to read isn't known.

Yes, this is part of the design.

> I'd love to help in testing things out. I'm okay with building against  
> alpha-quality code, and I'm sure you'd like to get some feedback on the  
> design as well.

At this point, the design is roughly done, and the code was working, but 2  
years ago :) The new-io2 branch probably doesn't work. The new-io branch  
should work, but I had to rip apart the design due to objections of how I  
designed it. The guts will be the same though.

> Let me know if there's any way that I can help. I'm very interested in  
> seeing this get finished sooner rather than later.

At this point, maybe you have lost interest. But if not, I wouldn't mind  
having help on it. Send me an email if you still are.

-Steve


More information about the Digitalmars-d mailing list