> Note that I'm not claiming to have any deep insights into what's broken and > what's not, either in Clojure or in Java. All I'm saying is that claiming > anything along the lines of "Clojure is not Java, so we can do whatever we > want - contracts do not apply" does not lead to sane map behavior. Those > contracts were created for a reason.
Clojure defines equiv separately from dot-equals. dot-equals respects Java's rules. > To be honest, I've sort-of lost the plot of how this is related to the > boxing-ints-as-Longs issue, but that's probably due to both my lack of > expertise in this area and to the generous glass of whiskey I had while > watching Megamind with my kids this afternoon. But I digress. The point I > think I was trying to back up is "if clojure changes equality semantics, it > should change hashcodes to match". That sounds right to me. Mmm, whiskey. I am dropping off this thread now. At this point I think it would be more useful for me (or someone) to expand the notes about numerics into better documentation, rather than continuing this rambling point-by-point treatment without getting all of the considerations into play at once. I hope to get that done by conj. Stu -- 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