Maybe another way to put it is that what is, uh, "broken" isn't 'map' or 'seq', but '=', which is willing to tell you that two things (sets) are the same when they're not! We also have the non-broken predicate 'identical?', however, that gets it right. It's nice to also have a set-equal predicate, which ignores differences in how sets are stored, and ... that's what '=' is! However, if we interpret '=' as implying that when the same function is applied to things that are "equal" in its sense, then we are making a mistake: '=' doesn't mean that. According to this reasoning, nothing here is broken, even from an extra-linguistic perspective. '=' just shouldn't be misunderstood. (In a language with different design and style goals, it might been preferable to define "=" to mean what Clojure means by 'identical?', and use something else--perhaps "equivalent?"--for a predicate analogous to Clojure's '='.)
-- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
