The latest version of hashabler is 2.0.0-2.

hashabler

Version 1.2.1 revision 0 uploaded by BrandonSimmons.

Package meta

Synopsis
Principled, portable & extensible hashing of data and types, including an implementation of the FNV-1a and SipHash algorithms.
Description

This package is a rewrite of the hashable library by Milan Straka and Johan Tibell, having the following goals:

  • Extensibility; it should be easy to implement a new hashing algorithm on any Hashable type; in this package we provide SipHash and FNV-1a.

  • Honest hashing of values, and principled hashing of algebraic data types (see e.g. hashable issues #74 and #30)

  • Cross-platform consistent hash values, with a versioning guarantee. Where possible we ensure morally identical data hashes to indentical values regardless of processor word size and endianness.

  • Make implementing identical hash routines in other languages as painless as possible. In addition to SipHash, we provide an implementation of a simple hashing algorithm (FNV-1a) and make an effort to define Hashable instances in a way that is well-documented and sensible, so that e.g. one can easily implement a string hashing routine in JavaScript that will match the way we hash strings here.

Versioning: Except for instances where we specifically note that we make no promise of consistency, changes to hash values (and consequently changes to StableHashable values, where applicable) entail a major version number bump.

Author
Brandon Simmons
Bug reports
n/a
Category
Data
Copyright
n/a
Homepage
https://github.com/jberryman/hashabler
Maintainer
brandon.m.simmons@gmail.com
Package URL
n/a
Stability
n/a

Components