id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc
86,Proposal: Add Package: binary,dons,dons,"http://www.haskell.org/pipermail/libraries/2009-August/012231.html

 * Proposal discussion threads: http://www.haskell.org/pipermail/libraries/2009-August/012257.html

 * Package name: binary
 * Package url: http://hackage.haskell.org/package/binary
 * Package category: Data
 * Package cabal file : http://hackage.haskell.org/packages/archive/binary/0.5.0.1/binary.cabal

||'''Heuristic'''||'''Status'''||'''Notes'''||
||What functionality does the package provide?||Efficient, pure binary serialisation using lazy ByteStrings. Haskell values may be encoded to and from binary formats, written to disk as binary, or sent over the network.||||
||What language features/extensions does the package require?||CPP,FlexibleContexts||||
||How popular is the package in [http://www.galois.com/~dons/hackage/popularity.html Hackage downloads]?|| Rank 6 / 1200||||
||How many packages depend on this package (what does it enable to build)?|| [http://aur.archlinux.org/packages.php?ID=19402 68 packages] ||||
||Do any applications of note depend on this package?|| yi||||
||Does it provide some foundational, general purpose functionality?||parsing binary data from streams of bytes||||
||Are there equivalent libraries in the Python (or other) [http://docs.python.org/library/ base libraries]?|| Yes, ""[http://docs.python.org/library/struct.html struct] - Interpret strings as packed binary data"", though this is more general ||||
||Is this package portable to all platforms?|| Yes, and to Hugs||||
||Does this package require additional C libraries?|| No||||
||Does the package follow the [http://www.haskell.org/haskellwiki/Package_versioning_policy package versioning policy]?|| Yes. ||||
||Is the code of high quality?|| Yes. ||||
||What is the bug history of this code?|| There have been a handful of bugs, none in the last 3 or so releases ||||
||Is the code [http://www.haskell.org/cabal/ cabalized] and hosted on [http://hackage.haskell.org/packages/archive/pkg-list.html Hackage]?|| Yes||||
||Does it build with cabal-install?|| Yes||||
||Does it provide [http://www.haskell.org/haddock/ haddock documentation]?|| [http://hackage.haskell.org/packages/archive/binary/0.5.0.1/doc/html/Data-Binary.html Yes]||||
||Does it have a test suite? Does it have test coverage data?|| Yes, [http://code.haskell.org/~dons/tests/binary/hpc_index.html Yes]. ||||
||Who is the maintainer of the code?|| Lennart Kolmodin, Don Stewart ||||
||Does the package add new dependencies?|| No. ||||
||Does the package build with build-style: Simple?|| Yes. ||||
||Does this package duplicate existing functionality in the Haskell Platform?|| No. ||||
||Does the package reuse types and data from the Haskell Platform? What types does it define?|| It reuses lazy bytestrings, and base word types ||||
||Does the package use the hierarchical naming conventions?|| Yes. ||||
||Does the package build with -Wall?|| Yes. ||||
||Does the package have performance figures/complexity annotations?|| It has performance figures. ||||
||What license does the library have?||BSD3||||
||Is the library ""Haskell-ish""?|| It provides a purely functional, lazy interface to binary encoding/decoding.||||
||Is the library thread safe?||Yes. ||||
||Is the package a stop-gap for a more general solution?|| A strict version would also be useful.||||
||What other packages provide similar functionality?|| binary-strict, attoparsec to some degree, various bit parsing libs ||||
||Will the maintainer adhear to the release schedule for the platform?|| Yes.||||
||Other relevant criteria?|| ||||

Action Items

 * Establish benchmarks for the default instances shipped with Binary.
     * Krasimir confirms stack overflows and performance issues of concern have gone.
 * Documentation for how to catch parse failures with Binary (via evaluate/catch).
 * An easier to catch failure mode.
 * Variable width encoding for Int instance?
 * a piece of documentation on the side could do until haddock supports documenting instances",defect,closed,major,2010.2.0.0,Package Addition,wontfix,,
