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