Restructured version of the Streams library

Simon Marlow simonmarhaskell at
Mon Jun 12 05:18:01 EDT 2006

Takano Akio wrote:

> I wrote an IO library, inspired by, and partly based on,
> Bulat Ziganshin's Streams library. The main aim of the library is to
> experiment with different design choices, especially emphasizing the
> following:
> * Many small classes
> * Iconv-friendly interface
> The source code and documentation can be found at:

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.

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.

We need to know whether the design can be efficiently implemented. 
Maybe Bulat could comment on that?


More information about the Libraries mailing list