I understand the points you've described, but as I written earlier the thing which is really confuses me is that for 2 equal objects, one considered truthy and the other considered falsey. In terms of clojure, if 2 objects are equal they represents the same value, right? As I've mentioned earlier, '(1 2 3) and [1 2 3] is two different objects, but it's a single value - collection of numbers 1, 2 and 3, in this order. This is true for all built-in clojure types of data - equal things are the same thing. 'false' is a clojure built-in, so I'd expect that its behaviour is similar. 'false' is equal to (Boolean. false); it implies that they represents the same value. Thus, the same value can be considered as both truthy and falsey by clojure, which is like blowing my mind.
Of course it's possible to say that one of ='s arguments is a java class, so you can't rely on it, but it just doesn't feel right for me. It creates a sense that "I cannot trust my code on the most basic level", as topic starter sayed. Hope I've made my point clear now. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/clojure?hl=en
