Hello John, great stuff! Many thanks. I can't await the 0.5 release of your library. By the way, I believe that the 'enumHandleSession' and 'enumHandleTimeout' enumerators from the 'netlines' library really belong into this one. You will want to have timeout support, when reading from a network handle.
Keep up the good work! Greets, Ertugrul John Millikin <jmilli...@gmail.com> wrote: > ----------------------------------------------------------------------------------------------------------------------------------------------------- > Enumerators are an efficient, predictable, and safe alternative to > lazy I/O. Discovered by Oleg Kiselyov, they allow large datasets to be > processed in near–constant space by pure code. Although somewhat more > complex to write, using enumerators instead of lazy I/O produces more > correct programs. > > http://hackage.haskell.org/package/enumerator > http://john-millikin.com/software/enumerator/ > ----------------------------------------------------------------------------------------------------------------------------------------------------- > > Hello -cafe, > > It's been a while since the last point release of enumerator. This one > is sufficiently large that I think folks might want to know about it, > and since I try not to spam too many announcements, I'll give a quick > rundown on major changes in other 0.4.x versions as well. > > First, most of what I call "list analogues" -- enumerator-based > versions of 'head', 'take', 'map', etc -- have been separated into > three modules (Data.Enumerator.List, .Binary, and .Text) depending on > what sorts of data they operate on. This separation has been an > ongoing process throughout 0.4.x releases, and I think it's now > complete. The old names in Data.Enumerator will continue to exist in > 0.4.x versions, but will be removed in 0.5. > > Second, Gregory Collins and Ertugrul Soeylemez found a space leak in > Iteratee's (>>=), which could cause eventual space exhaustion in some > circumstances. If you use enumerators to process very large or > infinite streams, you probably want to upgrade to version 0.4.7 or > higher. > > Third, the source code PDF has seen some substantial improvement -- if > you're interested in how the library is implemented, or have insomnia, > read it at < http://john-millikin.com/software/enumerator/enumerator_0.4.8.pdf > > > > Finally, there is a known issue in the current encoding of iteratees > -- if an iteratee yields extra data but never consumed anything, that > iteratee will violate the monad law of associativity. Oleg has updated > his implementations to fix this problem, but since it would break a > *lot* of dependent libraries, I'm holding off until the vague future > of version 0.5. Since iteratees that yield extra data they didn't > consume are invalid anyway, I hope this problem will not cause too > much inconvenience. > > New features > ----------------- > > * Range-limited binary file enumeration (requested + initial patch by > Bardur Arantsson). > > * splitWhen , based on the "split" package < > http://hackage.haskell.org/package/split > > > * 0.4.6: Typeable instances for most types (requested by Michael Snoyman) > > * 0.4.5: joinE , which simplifies enumerator/enumeratee composition > (requested by Michael Snoyman) > > _______________________________________________ > Libraries mailing list > librar...@haskell.org > http://www.haskell.org/mailman/listinfo/libraries -- nightmare = unsafePerformIO (getWrongWife >>= sex) http://ertes.de/ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe