Dear Haskellers,<div><br></div><div>I&#39;m pleased to announce the release of blaze-builder-0.2.1.0 and blaze-builder-enumerator-0.2.0.0. </div><div><br></div><div>The blaze-builder package provides a builder type that allows for the serialization of Haskell values in a form that can be output efficiently over the network, to a file, or just into a lazy bytestring. The blaze-builder-enumerator package allows for the incremental execution of builders and passing-on the produced bytestrings to another iteratee.</div>
<div><br></div><div>Note that both packages are work-in-progress. Currently, their development is driven by the objective to use the builder monoid as the core representation of byte sequences in the output path of the snap framework HTTP server. Once the packages become more stable, I will work towards separating their functionality more precisely and integrating them smoothly with existing packages like, for example, bytestring, binary, and enumerator.</div>
<div><br></div><div>Note also that currently compiling blaze-builder with the LLVM backend results in a library that segfaults! I hope to find a more minimal test case than the current testsuite of blaze-builder to make an appropriate bug entry for GHC.</div>
<div><br></div><div>blaze-builder changes since 0.2.0.0</div><div><br></div><div>* new functionality</div><div>- Blaze.ByteString.Builder.HTTP: provides a builder transformer for doing in-buffer chunked HTTP encoding of an arbitrary other builder.</div>
<div>- Blaze.ByteString.Builder.Char8: provides functions to serialize the lower 8-bits of characters similiar to what &#39;Data.ByteString.Char8&#39; provides for bytestrings.</div><div><br></div><div>* bugfixes: </div><div>
- use &amp;#39; instead of &amp;apos; for HTML escaping</div><div>- compiles with GHC 7.0.1 (<a href="http://hackage.haskell.org/trac/ghc/ticket/4498">http://hackage.haskell.org/trac/ghc/ticket/4498</a> was a problem)</div>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><meta http-equiv="content-type" content="text/html; charset=utf-8"><div><br></div><div>* internal restructuring:</div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div>
- `BuildStep&#39;s support returning a result in `Done`, which enables to implement a `Put` monad using CPS. Hence, we can now build a full replacement of the encoding part of the &#39;binary&#39; package based on blaze-builder.</div>
</div><div>- The `Write` abstraction has been restructured to allow for a more efficient Monoid instance and better insulation of user code from abstraction changes.</div><div><br></div><div>best regards,</div><div>Simon Meier</div>