While your answer is what Manfred is looking for, I still find the original behavior worrying. It lets you expose the internals of opaque data structures without having the relevant inspector.
Sam On Dec 28, 2013 4:16 PM, "J. Ian Johnson" <i...@ccs.neu.edu> wrote: > 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 >
____________________ Racket Users list: http://lists.racket-lang.org/users