Hash

Hash implements hash : hasher, a -> hasher where a implements Hash, hasher implements Hasher

A value that can be hashed.

Hasher implements addBytes : a, List U8 -> a where a implements Hasher addU8 : a, U8 -> a where a implements Hasher addU16 : a, U16 -> a where a implements Hasher addU32 : a, U32 -> a where a implements Hasher addU64 : a, U64 -> a where a implements Hasher addU128 : a, U128 -> a where a implements Hasher complete : a -> U64 where a implements Hasher

Describes a hashing algorithm that is fed bytes and produces an integer hash.

The Hasher ability describes general-purpose hashers. It only allows emission of 64-bit unsigned integer hashes. It is not suitable for cryptographically-secure hashing.

hashBool : a, Bool -> a where a implements Hasher

Adds a single Bool to a hasher.

hashI8 : a, I8 -> a where a implements Hasher

Adds a single I8 to a hasher.

hashI16 : a, I16 -> a where a implements Hasher

Adds a single I16 to a hasher.

hashI32 : a, I32 -> a where a implements Hasher

Adds a single I32 to a hasher.

hashI64 : a, I64 -> a where a implements Hasher

Adds a single I64 to a hasher.

hashI128 : a, I128 -> a where a implements Hasher

Adds a single I128 to a hasher.

hashNat : a, Nat -> a where a implements Hasher

Adds a single Nat to a hasher.

hashDec : a, Dec -> a where a implements Hasher

Adds a single Dec to a hasher.