From ctdean at sokitomi.com Tue Apr 21 22:37:37 2009 From: ctdean at sokitomi.com (Chris Dean) Date: Tue, 21 Apr 2009 15:37:37 -0700 Subject: [cl-store-devel] hash-table serialization with custom hashing functions Message-ID: How should I handle hash-tables with custom hashing functions? Some Lisps have an extension to make-hash-table to allow for a custom hashing function: (make-hash-table :test 'my-equal :hash-function 'my-hashing) How should we handle serialization for these objects? Right now we write out the hash-table-test but not the hash-function. This causes bad behaviors (or an error) on some Lisps when I restore the hash-table. The problem (as I see it) is that there is no standard way to get the hash-function. I was about to try and convince the Clozure folks to add a hash-table-hash-function and then send a patch to cl-store that used that function for Clozure, when I realized what a bad idea that is. I'd rather be able to fix this problem once for all CL implementations. So what do you think? Should we add a registry of some sort so that we know that restoring a hash-table with a hash-table-test of X should always use a hash-function of Y? Cheers, Chris Dean