Restructured version of the Streams library

Takano Akio aljee at
Mon Jun 12 09:55:54 EDT 2006

[I personally replied to Simon, by mistake. Sorry for the confusion]

Thank you for the comment.

On Mon, 12 Jun 2006 10:18:01 +0100
Simon Marlow <simonmarhaskell at> wrote:
> After my initial reaction of "oh no, not another one" :-)  I took a 
> brief look and I like it very much.  I admit I don't fully understand 
> the structure, especially the need for the Controlled classes.
> It would probably help to have some notes on the design: what is the 
> motivation for the presence of each class.  Going beyond just file 
> descriptors, what kinds of stream do you envisage being instances of 
> which classes.

I added some explanations to the library overview. I also wrote rationale
for the Controlled class. It is essentially for making the implementations
of buffering transformers easy, if I'm not missing anything. (I'm not very
sure about it because the class was introduced before a big design change
was made). I'm now thinking about whether it is worth complicating the
class structure.

> Also, file descriptors are not platform independent, so it would be 
> better to stick to the notion of a "file" as the underlying device for 
> file I/O, and have separate types for sockets, pipes, and other objects.

I like the idea. Thank you!

Takano Akio

More information about the Libraries mailing list