>
> 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

Reply via email to