[Openmcl-devel] make-hash-table: error: non-standard test specified without hash-function

Gary Byers gb at clozure.com
Sat Mar 5 08:33:56 PST 2016

please see the CLHS entry foe MAKE_HASH-TABLE, especially where is says 
of the :test

/te/st---a designator 
for one of the functions 
eq <http://www.lispworks.com/documentation/lw50/CLHS/Body/f_eq.htm#eq>, 
or equalp 

In other words, the results of using other things as :test the value of
the :test argument are not portably defined.

You don't need to provide a hash-function if you use a standard test
function (one of the above).

in CCL, you can use a non-standard test function, but you must also tell
MAKE_HASH-TABLE how to hash things so that two things that are 
equivalent under transport-plugin-info-equal-p)
hash to the same value

On 03/05/2016 09:02 AM, Frank Goenninger wrote:
> Hi all:
> This code:
> (defun transport-plugin-info-equal-p (a b)
>    (string= a b))
> (defvar *transport-plugin-infos* (make-hash-table :test 'transport-plugin-info-equal-p))
> produces this error; "non-standard test specified without hash-function"
> Well, yes, but…. I am not required to give a hash function, at least per CLHS. Any ideas ?
> Tnx!
> Kind regards
>     Frank
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> https://lists.clozure.com/mailman/listinfo/openmcl-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.clozure.com/pipermail/openmcl-devel/attachments/20160305/4e7540d8/attachment.htm>

More information about the Openmcl-devel mailing list