> > So, what does all this mean? > > 1. This is not a Clojure behavior but a Java one. Somehow millions of Java > developers and projects > managed to get by with this weird behavior. > I am not sure what you mean here:
Boolean b = new Boolean(false); if (b) System.out.println("true"); else System.out.println("false"); This code will print "false". So the Java behaviour is fine. The Oracle comment is a mere efficiency issue, not a semantic issue. > 2. This fact is documented and there are alternatives. > In my case the problem crept in in a very unexpected way (if you care to read the thread, which you didnt, I think). And this is just the problem with the Clojure semantics of Booleans. Not being able to rely on a basic if branch is very very very bad. > 3. You can get very far with just true and false literals, especially in > pure Clojure programs. > Again, that's just what I did, and I was hit by the problem anyway. Its funny the way people are susceptible to brain washing. > MK > > -- 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