Haskell Platform Proposal: add the 'aeson' library

Simon Hengel sol at typeful.net
Wed Sep 18 09:09:39 CEST 2013


On Wed, Sep 18, 2013 at 09:02:16AM +0200, Bas van Dijk wrote:
> On 18 September 2013 06:30, Niklas Hambüchen <mail at nh2.me> wrote:
> > On 18/09/13 04:02, Dan Burton wrote:
> >> Everybody already uses, trusts, and loves aeson.
> >
> > There's only one thing about it that I don't trust:
> >
> > "Partial instances" that will call error in pure code and crash my program.
> >
> > ByteString has such an instance that simply assumes that ByteString is
> > the same as Text, so it calls Data.Text.Encoding.decodeUtf8 on it.
> >
> > https://github.com/bos/aeson/issues/126
> 
> What about settling that issue by adding documentation to the ToJSON
> ByteString instance and the 'encode' function warning users about
> this?

That looks scary.  I'd either make it total or remove the instance all
together.

I think by now almost everybody in the Haskell community agrees that we
do not want pure partial functions.

Cheers,
Simon



More information about the Libraries mailing list