[web-devel] blaze-textual-native and aeson-native are being deprecated

Michael Snoyman michael at snoyman.com
Fri Nov 25 07:59:08 CET 2011

Hi all,

In the last Yesod release, we created two new packages:
blaze-textual-native and aeson-native. These were direct forks of
their source packages, with just two changes: blaze-textual-native did
not include a double-conversion dependency, and aeson-native depended
on blaze-textual-native instead of blaze-textual. The reason for all
this is that there is a GHC bug which prevents C++ code from working
correctly with GHCi and Template Haskell[1].

Bryan recently released a new version of blaze-textual which no longer
uses double-conversion by default (it's still available with
compile-time flags if you want the extra speed and don't need
TH/GHCi), and as a result, we are very happy to be deprecating the
native siblings. Fortunately, there are not that many packages on
Hackage using these libraries; in fact, the only packages for which
I'm not a maintainer are dingo-core, dingo-widgets and hledger-web.
However, since these are Yesod dependencies, I'm guessing many Yesod
users reference aeson-native in their site cabal files.

Technically speaking, switching from aeson-native to aeson in a
library should constitute a major version bump. However, in this case,
I think we want these deprecated packages to die as quickly as
possible. So my plan is to switch all of my packages from using
aeson-native to aeson some time next week. The result will likely be
broken builds for some people; all you'll need to do is edit your
cabal file and replace aeson-native with aeson (likewise for

Are there any objections to this course of action, or better ideas on
how to handle the situation?


[1] Please don't ask me for details, I don't know them. And for all I
know, the bug has already be fixed in newer GHCs.

More information about the web-devel mailing list