[haskell-platform] #86: Proposal: Add Package: binary
haskell-platform
haskell-platform at projects.haskell.org
Sat Aug 8 15:28:08 EDT 2009
#86: Proposal: Add Package: binary
------------------------------+---------------------------------------------
Reporter: dons | Owner: dons
Type: defect | Status: new
Priority: major | Milestone: 2009.4.0
Component: Package Addition | Resolution:
Keywords: |
------------------------------+---------------------------------------------
Old description:
> 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
> * An easier to catch failure mode.
> * Variable width encoding for Int instance?
New description:
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
--
Ticket URL: <http://trac.haskell.org/haskell-platform/ticket/86#comment:4>
haskell-platform <http://trac.haskell.org/haskell-platform>
The Haskell Platform: a comprehensive and robust collection of Haskell libraries
More information about the Haskell-platform
mailing list