Difference between revisions of "Iteratee I/O"
Jump to navigation
Jump to search
(Updated a link) |
|||
Line 19: | Line 19: | ||
* [http://www.yesodweb.com/book/enumerator Yesod Book: Enumerator Package] |
* [http://www.yesodweb.com/book/enumerator Yesod Book: Enumerator Package] |
||
* [http://sites.google.com/site/haskell/notes/lazy-io-considered-harmful-way-to-go-left-fold-enumerator Lazy IO considered harmful; way to go, Left-fold enumerator!] |
* [http://sites.google.com/site/haskell/notes/lazy-io-considered-harmful-way-to-go-left-fold-enumerator Lazy IO considered harmful; way to go, Left-fold enumerator!] |
||
− | * [http:// |
+ | * [http://www.tiresiaspress.us/haskell/iteratee/ A Darcs repository of an alternative implementation] |
* [http://www.scs.stanford.edu/11au-cs240h/notes/iteratee.html Stanford CS240h lecture on iteratee] |
* [http://www.scs.stanford.edu/11au-cs240h/notes/iteratee.html Stanford CS240h lecture on iteratee] |
||
Revision as of 10:34, 2 March 2012
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:
- The Monad.Reader Issue 16; see the section "Iteratee: Teaching an Old Fold New Tricks" by John W. Lato
- Yesod Book: Enumerator Package
- Lazy IO considered harmful; way to go, Left-fold enumerator!
- A Darcs repository of an alternative implementation
- Stanford CS240h lecture on iteratee
Uses of Iteratee I/O:
- 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: a Web Application Interface for haskell web frameworks (used by Yesod).
Packages:
- iterIO (note, that this will not compile on Windows, as it depends on the package unix)
- 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)
- See also the enumerator category on Hackage