I'll answer only C, since other letters are either irrelevant or do not contradict my points.
> C) ... By which universal law these two things should be considered equal > ? > Um, that's what my complaint is all about, no? I have no idea by which law these two things are considered equal, and why (if thing ...) for two equal things produces different results. > The decision is an implementation choice mainly to allow the > unification of null, nil > and false when testing return values. The less troubesome path was > chosen. > As for me, I'm not sure that the chosen path is "the less troublesome" - just ask the topic starter. Also, suggested way to solve the problem was "just wrap every java call which could return Boolean in (boolean ...)". If it's the "less troublesome" path, I can't even imagine what would be the "more troublesome" one. But, once again, that's not a question. As it was stated previously in this topic, core guys definitely knew what they are doing and probably implementing the different behaviour would involve perfomance tradeoffs. If you read my previous messages carefully, you'll see that my "OMG WTF" was related to values and equality, not to java, null or something else. -- 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