15:16:55nij-A hash table with :test TEST needs a hashing function that is compatible with TEST. How is such hashing function implemented usually?
15:17:16nij-After all, TEST may be applied on various types of objects.
15:23:27Bikegenerally it incorporates the information available with respect to the test
15:24:04Bikeso for example an equal hash on (most) vectors would just use the address, but for an equalp hash it would instead put in various properties of the vector as well as its elemetns
15:26:39nij-That for equalp sounds like a hard problem.
15:27:00nij-Leave alone customized TEST available in some implementations.
15:27:12nij-In such case, does the user have to provide their own hash functions?
15:27:30Bikefor customized tests you do have to provide your own hash function, yes.
15:28:25Bikethe way hash functions are usually written, they can mix in data from various sources. so for an equalp vector hash the method might look like (mix (hash (array-element-type ...)) (hash (array-whatever ...)) ... (hash (aref array 0)) ...) roughly speaking