Ticket #86 (closed defect: wontfix)
Proposal: Add Package: binary
| Reported by: | dons | Owned by: | dons |
|---|---|---|---|
| Priority: | major | Milestone: | 2010.2.0.0 |
| Component: | Package Addition | Keywords: | |
| Cc: |
Description (last modified by dons) (diff)
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 Hackage downloads? | Rank 6 / 1200 | |
| How many packages depend on this package (what does it enable to build)? | 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) base libraries? | Yes, "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 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 cabalized and hosted on Hackage? | Yes | |
| Does it build with cabal-install? | Yes | |
| Does it provide haddock documentation? | Yes | |
| Does it have a test suite? Does it have test coverage data? | Yes, 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
Change History
Note: See
TracTickets for help on using
tickets.
