binrep: Encode binary representations via types.

[ data, generics, library, mit, serialization ] [ Propose Tags ]

Please see README.md.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0, 0.2.0, 0.3.0, 0.3.1, 0.5.0, 0.6.0, 0.7.0, 0.8.0
Change log CHANGELOG.md
Dependencies aeson (>=2.0 && <2.1), base (>=4.14 && <5), bytestring (>=0.11 && <0.12), cereal (>=0.5.8.1 && <0.6), refined (>=0.6.3 && <0.7), refined-with (>=0.1.0 && <0.2), text (>=1.2 && <1.3) [details]
License MIT
Author Ben Orchard
Maintainer Ben Orchard <thefirstmuffinman@gmail.com>
Category Data
Home page https://github.com/raehik/binrep#readme
Bug tracker https://github.com/raehik/binrep/issues
Source repo head: git clone https://github.com/raehik/binrep
Uploaded by raehik at 2022-04-22T22:22:08Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 302 total (54 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for binrep-0.1.0

[back to package description]

binrep

Haskell data types with their binary representation explicitly built into the types. Intended for simple binary file parsing.

The binary and cereal libraries are for passing Haskell data between other binary and cereal users. Thus, data representation is largely obscured. For example, in cereal, all data is handled in big-endian format. If you use the Serialize typeclass methods for parsing and serializing, you would never know.

binrep never makes decisions by itself. You can't parse/serialize a Word64 without either providing the endianness to use at runtime, or encoding the endianness into the type.

See the Hackage documentation for details.