> > false and true are JVM built-ins. > Yes, but clojure uses this booleans as a basic type, in the same way as it does for lists and symbols.
> You could argue the same way that since (1 2 3) and [1 2 3] are equal, > > they represent the same value, and thus you should be able to call > `subvec' on both of them. > Well, if we draw an analogy with subvec, then the behaviour we're discussing would rather be the same as if (subvec [1 2 3] 1) would return [2 3] and (subvec '(1 2 3) 1) would return "haha, gotcha!" :) Since you are complaining about =, do you mean that = should be > > special-cased to do an identity-check instead of an equality check for > java.lang.Booleans? E.g., are you demanding that (= false > (Boolean. false)) should be false? That would be horrible. > It's not that I'm complaining about =, it's more about documentation and such kind of stuff. On the other hand, if we ignore the fact that = uses .equals under the hood, it'd be reasonable to return false in this case (because clojure doesn't really treat the two as equal things). -- 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