Iteratee I/O
From HaskellWiki
(Difference between revisions)
(Added some links to section "Uses of Iteratee I/O") |
m (Added some remarks in the Packages section) |
||
| Line 12: | Line 12: | ||
* Oleg's writings: [http://okmij.org/ftp/Streams.html#iteratee Incremental multi-level input processing with left-fold enumerator: predictable, high-performance, safe, and elegant] | * Oleg's writings: [http://okmij.org/ftp/Streams.html#iteratee Incremental multi-level input processing with left-fold enumerator: predictable, high-performance, safe, and elegant] | ||
* [http://okmij.org/ftp/Haskell/Iteratee/Iteratee.hs An implementation by Oleg, iteratees on Chars and Strings] | * [http://okmij.org/ftp/Haskell/Iteratee/Iteratee.hs An implementation by Oleg, iteratees on Chars and Strings] | ||
| - | * [http://okmij.org/ftp/Haskell/Iteratee/IterateeM.hs A general library by Oleg] | + | * [http://okmij.org/ftp/Haskell/Iteratee/IterateeM.hs A general library by Oleg] |
Other discussions: | Other discussions: | ||
| Line 28: | Line 28: | ||
Packages: | Packages: | ||
| - | * [http://hackage.haskell.org/package/enumerator enumerator] [http://www.haskell.org/pipermail/haskell-cafe/2010-August/082324.html ANNOUNCE: enumerator, an alternative iteratee package] | + | * [http://hackage.haskell.org/package/enumerator enumerator] [http://www.haskell.org/pipermail/haskell-cafe/2010-August/082324.html ANNOUNCE: enumerator, an alternative iteratee package] (this package does not use any extensions, so it will work with most Haskell compilers) |
* [http://hackage.haskell.org/package/attoparsec-iteratee attoparsec-iteratee]: An adapter to convert attoparsec Parsers into blazing-fast Iteratees | * [http://hackage.haskell.org/package/attoparsec-iteratee attoparsec-iteratee]: An adapter to convert attoparsec Parsers into blazing-fast Iteratees | ||
* [http://hackage.haskell.org/package/iteratee iteratee]: Iteratee-based I/O | * [http://hackage.haskell.org/package/iteratee iteratee]: Iteratee-based I/O | ||
* [http://hackage.haskell.org/package/iteratee-parsec iteratee-parsec]: Package allowing parsec parser initeratee | * [http://hackage.haskell.org/package/iteratee-parsec iteratee-parsec]: Package allowing parsec parser initeratee | ||
| - | * [http://hackage.haskell.org/package/liboleg liboleg]: An evolving collection of Oleg Kiselyov's Haskell modules | + | * [http://hackage.haskell.org/package/liboleg liboleg]: An evolving collection of Oleg Kiselyov's Haskell modules (depends on the package unix and will therefore not compile on Windows systems) |
[[Category:Idioms]] | [[Category:Idioms]] | ||
Revision as of 12:47, 19 August 2010
This article is a stub. You can help by expanding it.
Iteratee I/O is a way to avoid the problems that can occur with lazy I/O.
Discussions elsewhere on this wiki include:
Essays by Oleg:
- Oleg's writings: Incremental multi-level input processing with left-fold enumerator: predictable, high-performance, safe, and elegant
- An implementation by Oleg, iteratees on Chars and Strings
- A general library by Oleg
Other discussions:
- Lazy IO considered harmful; way to go, Left-fold enumerator!
- A Darcs repository of an alternative implementation
Uses of Iteratee I/O:
- hyena: The Hyena web application server
- Snap : The Snap web framework
- yaml: Low-level binding to the libyaml C library]
- usb 0.4: Communicate with USB devices
- sstable: SSTables in Haskell
- wai-handler-snap: Web Application Interface handler using snap-server
Packages:
- enumerator ANNOUNCE: enumerator, an alternative iteratee package (this package does not use any extensions, so it will work with most Haskell compilers)
- attoparsec-iteratee: An adapter to convert attoparsec Parsers into blazing-fast Iteratees
- iteratee: Iteratee-based I/O
- iteratee-parsec: Package allowing parsec parser initeratee
- liboleg: An evolving collection of Oleg Kiselyov's Haskell modules (depends on the package unix and will therefore not compile on Windows systems)
