Reliable, high-performance processing with left-fold enumerators Maintained by:haskell@FreeBSD.org Port Added: 08 May 2011 19:08:36 Also Listed In:haskell License: MIT
Typical buffer-based incremental I/O is based around a single loop,
which reads data from some source (such as a socket or file), transforms
it, and generates one or more outputs (such as a line count, HTTP
responses, or modified file). Although efficient and safe, these loops are
all single-purpose; it is difficult or impossible to compose
buffer-based processing loops.
Haskell's concept of "lazy I/O" allows pure code to operate on data from an
external source. However, lazy I/O has several shortcomings. Most notably,
resources such as memory and file handles can be retained for arbitrarily
long periods of time, causing unpredictable performance and error conditions.
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.
This library contains an enumerator implementation for Haskell, designed to
be both simple and efficient.
WWW: http://john-millikin.com/software/enumerator/
Reason:
GHC has been updated to version 7.0.4, and Haskell Platform to version
2011.4.0.0, and other Haskell ports are also updated to their Haskell
Platform versions or latest versions.
To update all affected ports:
# portmaster -r lang/ghc
or
# portupgrade -r lang/ghc
2011-05-09
Affects: users of lang/ghc and */hs-*
Author: ashish@FreeBSD.org
Reason:
GHC has been updated to version 7.0.3 and other Haskell ports are also
updated to their Haskell Platform versions or latest versions.
To update all affected ports:
# portmaster -r lang/ghc
or
# portupgrade -r lang/ghc
Number of commits found: 5
Commit History - (may be incomplete: see CVSWeb link above for full details)
Bump PORTREVISION of all ports dependent on lang/ghc as during
upgrade, lang/ghc cabal package cache gets invalidated causing all
dependent ports to be reinstalled.
Obtained from: FreeBSD Haskell
Typical buffer-based incremental I/O is based around a single loop,
which reads data from some source (such as a socket or file), transforms
it, and generates one or more outputs (such as a line count, HTTP
responses, or modified file). Although efficient and safe, these loops are
all single-purpose; it is difficult or impossible to compose
buffer-based processing loops.
Haskell's concept of "lazy I/O" allows pure code to operate on data from an
external source. However, lazy I/O has several shortcomings. Most notably,
resources such as memory and file handles can be retained for arbitrarily
long periods of time, causing unpredictable performance and error conditions.
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.
This library contains an enumerator implementation for Haskell, designed to
be both simple and efficient.
WWW: http://john-millikin.com/software/enumerator/
Approved by: pgj (mentor)
Obtained from: FreeBSD Haskell