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.l...@arcor.de> To: users@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 ____________________ Racket Users list: http://lists.racket-lang.org/users