1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
|
Source: haskell-enumerator
Maintainer: Debian Haskell Group <pkg-haskell-maintainers@lists.alioth.debian.org>
Uploaders: Clint Adams <clint@debian.org>
Priority: extra
Section: haskell
Build-Depends:
cdbs,
debhelper (>= 9),
ghc (>= 8),
ghc-prof,
haskell-devscripts (>= 0.13),
libghc-text-dev (>= 0.7),
libghc-text-prof,
Build-Depends-Indep: ghc-doc, libghc-text-doc
Standards-Version: 3.9.8
Homepage: https://john-millikin.com/software/enumerator/
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-haskell/DHG_packages.git/tree/p/haskell-enumerator
Vcs-Git: https://anonscm.debian.org/git/pkg-haskell/DHG_packages.git
Package: libghc-enumerator-dev
Architecture: any
Depends: ${haskell:Depends}, ${misc:Depends}, ${shlibs:Depends}
Recommends: ${haskell:Recommends}
Suggests: ${haskell:Suggests}
Provides: ${haskell:Provides}
Description: high-performance left-fold enumerators${haskell:ShortBlurb}
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. Three core types are
defined, along with numerous helper functions:
.
Iteratee: Data sinks, analogous to left folds. Iteratees consume
a sequence of input values, and generate a single output value. Many
iteratees are designed to perform side effects (such as printing to
stdout), so they can also be used as monad transformers.
.
Enumerator: Data sources, which generate input sequences. Typical
enumerators read from a file handle, socket, random number generator,
or other external stream. To operate, enumerators are passed an
iteratee, and provide that iteratee with input until either the
iteratee has completed its computation, or EOF.
.
Enumeratee: Data transformers, which operate as both enumerators
and iteratees. Enumeratees read from an outer enumerator, and
provide the transformed data to an inner iteratee.
.
${haskell:Blurb}
Package: libghc-enumerator-prof
Architecture: any
Depends: ${haskell:Depends}, ${misc:Depends}
Recommends: ${haskell:Recommends}
Suggests: ${haskell:Suggests}
Provides: ${haskell:Provides}
Description: high-performance left-fold enumerators${haskell:ShortBlurb}
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. Three core types are
defined, along with numerous helper functions:
.
Iteratee: Data sinks, analogous to left folds. Iteratees consume
a sequence of input values, and generate a single output value. Many
iteratees are designed to perform side effects (such as printing to
stdout), so they can also be used as monad transformers.
.
Enumerator: Data sources, which generate input sequences. Typical
enumerators read from a file handle, socket, random number generator,
or other external stream. To operate, enumerators are passed an
iteratee, and provide that iteratee with input until either the
iteratee has completed its computation, or EOF.
.
Enumeratee: Data transformers, which operate as both enumerators
and iteratees. Enumeratees read from an outer enumerator, and
provide the transformed data to an inner iteratee.
.
${haskell:Blurb}
Package: libghc-enumerator-doc
Architecture: all
Section: doc
Depends: ${haskell:Depends}, ${misc:Depends}
Recommends: ${haskell:Recommends}
Suggests: ${haskell:Suggests}
Description: high-performance left-fold enumerators${haskell:ShortBlurb}
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. Three core types are
defined, along with numerous helper functions:
.
Iteratee: Data sinks, analogous to left folds. Iteratees consume
a sequence of input values, and generate a single output value. Many
iteratees are designed to perform side effects (such as printing to
stdout), so they can also be used as monad transformers.
.
Enumerator: Data sources, which generate input sequences. Typical
enumerators read from a file handle, socket, random number generator,
or other external stream. To operate, enumerators are passed an
iteratee, and provide that iteratee with input until either the
iteratee has completed its computation, or EOF.
.
Enumeratee: Data transformers, which operate as both enumerators
and iteratees. Enumeratees read from an outer enumerator, and
provide the transformed data to an inner iteratee.
.
${haskell:Blurb}
|