[racket] hash table confusion
You want to make sure your structs are inspectable. You can define your structs with the #:transparent option or define your own equality relation with the gen:equal+hash generic interface.
-Ian
----- Original Message -----
From: Manfred Lotz <manfred.lotz at arcor.de>
To: users at racket-lang.org
Sent: Sat, 28 Dec 2013 15:41:28 -0500 (EST)
Subject: [racket] hash table confusion
I have a hash table (created by using make-hash) where the key is a
struct. This seems to work fine although the documentation says
The make-hash procedure creates a table where keys are compared with
equal?,...
and it seems that equal? gives #f if I compare two structs having the
same contents:
(struct cpd (x y))
(define C1 (cpd 1 "bla"))
(define C2 (cpd 1 "bla"))
(equal? C1 C2)
#f
Why does my hash table work fine? In my hash handling I'm using
make-hash, hash-ref!, hash-set!, hash-for-each.
--
Manfred
____________________
Racket Users list:
http://lists.racket-lang.org/users