[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
hash table types
- To: George J. Carrette <GJC@MIT-MC.ARPA>
- Subject: hash table types
- From: David C. Plummer in disguise <DCP@SCRC-QUABBIN.ARPA>
- Date: Thu, 9 May 85 12:01 EDT
- Cc: TIM@MIT-MC.ARPA, COMMON-LISP@SU-AI.ARPA
- In-reply-to: <[MIT-MC].493032.850509.GJC>
Date: Thu, 9 May 85 08:11:50 EST
From: George J. Carrette <GJC@MIT-MC>
The problem was that (EQUAL "foo" "FOO") used to be T, but now is NIL,
and all the hardware databases had chip and signal names in both
upper and lowercase, depending on what the user first typed in.
It sounds like you should fix the root problem instead of this kind of
workaround. Another alternative would be to implement
CASE-INSENSITIVE-EQUAL-HASH-TABLEs, where the :test is
CASE-INSENSITIVE-EQUAL or somesuch.
So from practical experience I can definitely put in a vote for
having :TEST 'EQUALP in hash tables.
That's not to say I think equalp hash tables are a bad idea. I'm not
sure if they are good or bad. I fear the efficiency penalty of
traversing every array it finds. Your message is clearly a request for
equal-like hash table that ignore case (or maybe you should change your
hardware database (or make your program always STRING-UPCASE)).
Also keep in mind that it is relatively easy for flavor-based
implementations to "just go off and add" more types of hash tables. The
expsnse-to-implement::usefulness ratio may be too high for other