blaze-textual: Fast rendering of common datatypes

[ bsd3, library, text ] [ Propose Tags ]

A library for efficiently rendering Haskell datatypes to bytestrings.

Note: if you use GHCi or Template Haskell, please see the README file for important details about building this package, and other packages that depend on it: https://github.com/bos/blaze-textual#readme


[Skip to Readme]

Flags

Automatic Flags
NameDescriptionDefault
developer

operate in developer mode

Disabled
native

use slow native code for double conversion

Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.2.0.0, 0.2.0.1, 0.2.0.2, 0.2.0.3, 0.2.0.4, 0.2.0.5, 0.2.0.6, 0.2.0.7, 0.2.0.8, 0.2.0.9, 0.2.1.0, 0.2.2.0, 0.2.2.1, 0.2.3, 0.2.3.1
Dependencies base (>4 && <4.15), blaze-builder (>=0.2.1.4), bytestring, double-conversion (>=0.2.0.1), ghc-prim, integer (>=0.1 && <0.2), integer-gmp (>=0.2), old-locale, text (>=0.11.0.2), time, vector [details]
License BSD-3-Clause
Copyright Copyright 2011 MailRank, Inc.
Author Bryan O'Sullivan <bos@serpentine.com>
Maintainer Bryan O'Sullivan <bos@serpentine.com>
Revised Revision 1 made by Bodigrim at 2022-06-25T22:10:50Z
Category Text
Home page http://github.com/bos/blaze-textual
Bug tracker http://github.com/bos/blaze-textual/issues
Source repo head: git clone http://github.com/bos/blaze-textual
head: hg clone http://bitbucket.org/bos/blaze-textual
Uploaded by BryanOSullivan at 2012-08-25T04:12:21Z
Distributions Arch:0.2.3.1, Debian:0.2.1.0, Fedora:0.2.3.1, FreeBSD:0.2.1.0, LTSHaskell:0.2.3.1, NixOS:0.2.3.1, Stackage:0.2.3.1
Reverse Dependencies 20 direct, 7711 indirect [details]
Downloads 50466 total (200 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for blaze-textual-0.2.0.8

[back to package description]

Welcome to blaze-textual

blaze-textual is a fast Haskell library for rendering common Haskell datatypes in text form using the blaze-builder library.

Important note for users of GHCi and Template Haskell

To achieve excellent performance for rendering floating point numbers, this package can optionally use the double-conversion package.

Unfortunately, due to bugs in GHC, some uses of GHCi and Template Haskell can crash if the double-conversion package is used. As a result, this package's use of double-conversion is disabled by default.

If you enable use of double-conversion and are affected by these problems, you should expect the 5289 crash to look like this:

Loading package double-conversion-0.2.0.0 ... can't load .so/.DLL for: stdc++

The 5386 crash causes GHCi to die with a floating point exception (SIGFPE).

To work around these bugs, this package includes an alternative, slower, floating point conversion that is written in pure Haskell. Although it is 10 times slower than the double-conversion package, it is the default because it does not crash.

If you don't use GHCi or Template Haskell, and you want to force the use of double-conversion, you can reinstall this package by disabling the native flag with cabal:

cabal install -f-native --reinstall

Afterwards, you will also need to reinstall any downstream packages that depend on this one, e.g. the aeson JSON library:

cabal install aeson --reinstall

Join in!

We are happy to receive bug reports, fixes, documentation enhancements, and other improvements.

Please report bugs via the github issue tracker.

Master git repository:

  • git clone git://github.com/bos/blaze-textual.git

There's also a Mercurial mirror:

  • hg clone http://bitbucket.org/bos/blaze-textual

(You can create and contribute changes using either git or Mercurial.)

Authors

This library is written and maintained by Bryan O'Sullivan, bos@serpentine.com.