A Builder is an efficient way to build lazy Text values. There are several functions for constructing builders, but only one to inspect them: to extract any data, you have to turn them into lazy Text values using toLazyText.
Internally, a builder constructs a lazy Text by filling arrays piece by piece. As each buffer is filled, it is 'popped' off, to become a new chunk of the resulting lazy Text. All this is hidden from the user of the Builder.
This module provides generic builder functions. These functions construct values of a given type.
Efficient construction of lazy Text values. The principal operations on a Builder are singleton, fromText, and fromLazyText, which construct new builders, and mappend, which concatenates two builders.
To get maximum performance when building lazy Text values using a builder, associate mappend calls to the right. For example, prefer
> singleton 'a' `mappend` (singleton 'b' `mappend` singleton 'c')
> singleton 'a' `mappend` singleton 'b' `mappend` singleton 'c'
as the latter associates mappend to the left.
This library provides an abstraction of buffered output of byte streams and several convenience functions to exploit it. For example, it allows to efficiently serialize Haskell values to lazy bytestrings with a large average chunk size. The large average chunk size allows to make good use of cache prefetching in later processing steps (e.g. compression) and reduces the sytem call overhead when writing the resulting lazy bytestring to a file or sending it over the network.
Convert streams of builders to streams of bytestrings.
This package integrates the builders from the blaze-builder package with the enumerator package. It provides infrastructure and enumeratees for incrementally executing builders and pass the filled chunks to a bytestring iteratee.
HSlackBuilder automatically generates slackBuild scripts from a cabal package
Most json packages dictate a data structure that corresponds to json values. To serialize other values to json, then that value must be marshalled into the specified structure.
This library avoids this marshalling step, and is thus potentially more efficient when serializing arbitrary data structures. Unfortunately json-builder cannot yet read or process json data, and it's not clear to me yet how pull a similar kind of trick to avoid unnecessary data structures when parsing json data into arbitrary data types.
This library builds text xoj format file from xournal data structure