Add binary and/or cereal to the Haskell Platform

Johan Tibell johan.tibell at gmail.com
Wed Aug 22 17:05:01 CEST 2012


Hi all,

On Wed, Aug 22, 2012 at 1:40 AM, Yitzchak Gale <gale at sefer.org> wrote:
> I see that several years ago a proposal page was prepared
> for adding the binary package to the Haskell Platform,
> but it was never actually submitted as a proposal.
>
> http://trac.haskell.org/haskell-platform/wiki/Proposals/binary
>
> I think the reason it was not submitted was that things
> were in flux at that time regarding the binary and cereal
> packages.
>
> Now the situation has settled down. I think one or both
> of those packages ought to be added to the platform.
> Any opinions?

As I've mentioned before [1] I think binary and cereal should be
merged. They are almost identical and both the strict (cereal) and
lazy (binary) runGet interfaces can coexist in the same API,
implemented on top of runGetPartial. The only remaining issue I'm
aware of is that Lennart tried implementing the current binary API
using continuations and it was a bit tricky to maintain performance.

Furthermore, I really think the Put and Get modules should be split,
which implement encoding/decoding of base types in standardized
encodings, should be split from the Binary/Cereal module, which
implement a very specific and non-standardized (but still useful)
format. Not not break any old code I suggest that the binary/cereal
package will re-export this split off API (e.g. a new binary-encodings
package).

1. http://blog.johantibell.com/2011/01/merging-binary-and-cereal.html

-- Johan



More information about the Libraries mailing list