Stuart, > In order for this to work, the "quasi-isomorphic?" function has be reflexive. > Is it? (The .equals implementation is also missing a type test, but that > probably isn't > the problem here.)
Yes, it is reflexive, and symmetric: user> (quasi-isomorphic? t2 t1) true user> (quasi-isomorphic? t1 t2) true user> (quasi-isomorphic? t1 t1) true user> (quasi-isomorphic? t2 t2) true What I really don't understand, is that when I set a breakpoint in the equals function to see what search records are being compared, the comparison between sr1 and sr2 never occurs, even though sr1 is in the set when sr2 is added. From Rich's videos I think I remember these persistent data structures being ideal hash tries, so I tried to look at the PersistentMap code to see why this was occurring. No luck, yet. I also thought that the deftype might need to implement a different interface for this to work. > You should also try using a TreeSet and see if you get the same results as > with sorted-set. I will. Thank you for the suggestions. -Travis -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en