Zafu/Abstract/Hashsource code:
public dependencies: Zafu/Abstract/Eq
Hashfinish_61, hash, hash_by, hash_from_fn, hash_specialized, hash_to_Eq, laws_Hash, mix_61, normalize_61Hash[a]type Hash[a: -*]
finish_61references: Int
def finish_61(acc: Int, size_or_arity: Int, tag: Int) -> Int
hashdef hash[a](inst: Hash[a], value: a) -> Int
hash_byreferences: Hash
def hash_by[a, b](inst: Hash[a], project: b -> a) -> Hash[b]
hash_from_fnConstructor from a potentially out-of-range hash function.
references: Hash, Int, Zafu/Abstract/Eq::Eq
def hash_from_fn[a](hash_fn: a -> Int, eq_inst: Zafu/Abstract/Eq::Eq[a]) -> Hash[a]
hash_specializedConstructor for hash functions that already return 61-bit values.
references: Hash, Int, Zafu/Abstract/Eq::Eq
def hash_specialized[a](hash_fn: a -> Int, eq_inst: Zafu/Abstract/Eq::Eq[a]) -> Hash[a]
hash_to_Eqreferences: Hash, Zafu/Abstract/Eq::Eq
def hash_to_Eq[a](inst: Hash[a]) -> Zafu/Abstract/Eq::Eq[a]
laws_HashLaw checker: Eq laws, Eq/Hash coherence, and 61-bit range invariant.
def laws_Hash[a](inst: Hash[a], x: a, y: a, z: a) -> Test
mix_61references: Int
def mix_61(acc: Int, next: Int) -> Int
normalize_61references: Int
def normalize_61(raw: Int) -> Int