
Nick Name wrote: (snip)
I propose here to join our efforts and design a robust and generic stream library, wich has to be thread-safe, and subsume MVars, Channels and M.Chackravarty's Ports. I am doing such a work alone to use it in my future projects, and it grows up well, but of course one thing is me, a student, doing an hobbist work, and another thing is to work together. We don't have to waste time, just to solve the main issues and produce a clean and working implementation.
I think devising something that subsumes everything may be tricky. For example, will this stream library also subsume CML style events (as implemented by me as part of HTk), which allow you to wait on multiple events and return when any one of them occurs? Will it be possible, for example, to "fold" a stream, taking an existing stream and adding a bit of state to it? Will it be possible to block selected elements of a stream? I applaud the idea of devising a general stream library. But I would suggest starting with devising an interface that is extensible as possible, so all such features can be added later on, as necesary.