Thanks for putting together the genhash proposal. It's a much needed extension to CL hash tables!
I might be coming late to the discussion of genhash, so I'll start with a simple question:
Why is the order of arguments in HASHREF first the key then the table rather that the table and then the key? Here is how it is now:
(hashref key table &optional (default nil))
It has always bothered me that CL:GETHASH, CL:REMHASH, and CL:NTH have the accessor (in this case the key and the index) as the first arg while AREF, SVREF, CHAR, SCHAR, and ELT have the the container as the first arg (in this case the array, vector, string, and sequence).
I think the answer to my question might be that HASHREF is consistent with the calling order in GETHASH.
My preference is to have the ordering be table and then key and be consistent with ELT et.al.
Cheers, Chris Dean