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

Reply via email to