-
Book Overview & Buying
-
Table Of Contents
Haskell High Performance Programming
By :
The libraries in this subsection are as follows:
conduit, io-streams, and pipes: General streaming libraries, that avoid problems with lazy IO
lens: Solving the "nested record update" problem in a "batteries included" fashion
convertible: Conversions between types using a single function without information loss
basic-prelude, classy-prelude: Prelude alternatives that encourage best practices in modern Haskell
chunked-data: Class abstractions to different builders, zipping, and reading and writing to files and handles
Streaming libraries are generally aimed at countering problems with lazy IO. Refer to Chapter 6, I/O and Streaming, for an in-depth discussion about problems with lazy IO and Haskell streaming libraries.
Lenses can be thought of as a generalization of getters and setters that compose well. A sore point of vanilla Haskell is nested record updates. The syntax is not very nice, for instance, this:
update rec new_c = rec { field_c = (field_c rec...