
Hello Simon, Friday, February 1, 2008, 1:31:37 PM, you wrote:
Right now though, I'm not sure all this is going in the right direction. Dealing with all those mutable buffers is quite a headache (for the library writer, not the user), and lazy bytestrings have shown us that there are simpler ways to get good I/O performance. What's more, as Duncan Coutts has pointed out to me on more than one occasion, it's much easier to layer streams when the streams are lazy lists. As much as I hate to say it, there's a lot to be said for lazy I/O in this respect. However, lazy I/O has other problems - deterministically catching errors, unpredictable resource usage, unpredictable interaction with other I/O, and so on.
also add lack of multithreading/locking support and questionable interaction with C libs. i still think that the proper solution is to provide imperative i/o library as the basis and build lazy bytestring one on the top of it. most users will use high-level library unfortunately, BS and Streams libs were never integrated together -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com