úÎ)c(‹portable provisionaljohan.tibell@gmail.com :The class of types that can be converted to a hash value. Minimal implementation:  or . &Return a hash value for the argument. The general contract of  is: < This integer need not remain consistent from one execution 7 of an application to another execution of the same  application. * If two values are equal according to the   method, then  applying the ' method on each of the two values must % produce the same integer result.  It is not) required that if two values are unequal  according to the   method, then applying the  ; method on each of the two values must produce distinct > integer results. However, the programmer should be aware ? that producing distinct integer results for unequal values 6 may improve the performance of hashing-based data  structures. <Return a hash value for the argument, using the given salt. =This method can be used to compute different hash values for 6 the same input by providing a different salt in each  application of the method. The contract for  is the same as for , with ; the additional requirement that any instance that defines  2 must make use of the salt in its implementation. 5A default salt used in the default implementation of  . ,Default salt for hashing string like types. >Compute the hash of a ThreadId. For GHC, we happen to know a  trick to make this fast. 6Compute a hash value for the content of this pointer. pointer to the data to hash length, in bytes  hash value ?Compute a hash value for the content of this pointer, using an  initial salt. =This function can for example be used to hash non-contiguous E segments of memory as if they were one contiguous segment, by using 2 the output of one hash as the salt for the next. pointer to the data to hash length, in bytes salt  hash value -Compute a hash value for the content of this , E beginning at the specified offset, using specified number of bytes.  Availability: GHC.  data to hash offset, in bytes length, in bytes  hash value -Compute a hash value for the content of this , using  an initial salt. =This function can for example be used to hash non-contiguous E segments of memory as if they were one contiguous segment, by using 2 the output of one hash as the salt for the next. Availability: GHC.  data to hash offset, in bytes length, in bytes salt  hash value  Combine two given hash values.  has zero as a left  identity.     hashable-1.1.2.0 Data.HashableHashablehash hashWithSalthashPtrhashPtrWithSalt hashByteArrayhashByteArrayWithSaltcombinec_hashByteArray hashCString getThreadIdbase GHC.Classes== defaultSalt stringSalt hashThreadIdghc-primGHC.Prim ByteArray#