[Haskell-cafe] ANNOUNCE: iterIO-0.1 - iteratee-based IO with pipe operators
Eugene Kirpichov
ekirpichov at gmail.com
Fri May 6 06:30:05 CEST 2011
Sounds just terrific! Thanks!
06.05.2011, в 8:15, David Mazieres <dm-list-haskell-cafe at scs.stanford.edu> написал(а):
> Hi, everyone. I'm pleased to announce the release of a new iteratee
> implementation, iterIO:
>
> http://hackage.haskell.org/package/iterIO
>
> IterIO is an attempt to make iteratees easier to use through an
> interface based on pipeline stages reminiscent of Unix command
> pipelines. Particularly if you've looked at iteratees before and been
> intimidated, please have a look at iterIO to see if it makes them more
> accessible.
>
> Some aspects of iterIO that should simplify learning and using
> iteratees are:
>
> * Every aspect of the library is thoroughly document in haddock
> including numerous examples of use.
>
> * Enumerators are easy to build out of iteratees.
>
> * There is no difference between enumerators and "enumeratees"
> (i.e., inner pipeline stages). The former is just a
> type-restricted version of the latter.
>
> * Parsing combinators provide detailed error reporting and support
> LL(*) rather than LL(1) parsing, leading to fewer non-intuitive
> parsing failures. A couple of tricks avoid consuming excessive
> memory for backtracking.
>
> * Super-fast LL(1) parsing is also available through seamless
> integration with attoparsec.
>
> * A universal exception mechanism works across invocations of mtl
> monad transformers, thereby unifying error handling.
>
> * All pipe operators have uniform semantics, eliminating corner
> cases. In particular, if the writing end of a pipe fails, the
> reading end always gets EOF, allowing it to clean up resources.
>
> * One can catch exceptions thrown by any contiguous subset of
> stages in a pipeline. Moreover, enumerator exception handlers
> can resume downstream stages that haven't failed.
>
> * The package is full of useful iteratees and enumerators,
> including basic file and socket processing, parsec-like
> combinators, string search, zlib/gzip compression, SSL, HTTP, and
> "loopback" enumerator/iteratee pairs for testing a protocol
> implementation against itself.
>
> Please enjoy. I'd love to hear feedback.
>
> David
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
More information about the Haskell-Cafe
mailing list