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

Reply via email to