This issue best illustrates how imperative and functional thinking differ. When I write code such as
(map not [true false]) , I implicitly think imperatively: "compiler, please traverse this collection, applying 'not to each element...". I could also word my thoughts functionally: "I desire the filtering of mapping of reducing..." but my mind just doesn't work like that. I suspect this applies to much people: it's not unusual to encounter the argument that "our view of the world is essentially imperative". While imperativeness typically gets some things wrong -e.g. time/change-, I believe we should't deny our imperative nature. Just as in my previous example, when I encounter a set: #{a b} My first impression is to think about it as code, rather than data. It sure is data, and Clojure would remain correct under its current approach of throwing-on-duplicates, but this is a very unforgiving attitude towards what I deem our natural way of thinking. -- 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