Mark Engelberg <mark.engelb...@gmail.com> writes: > filter works just as well with a function that returns true and false, > so that's not a particularly good example.
Calling the set as if it is a fn is a short-hand for "get", that is retrieving an element from the set. Why would you want to do this, when to look it up you need to know what element is? Sets are based on value-equality not reference-equality. Thus you can have an object in the set that is equal to your lookup key but not identical. A simple example is anything with metadata attached: (def myset #{(with-meta 'foo {:something 1})}) Now I know what the symbol is but I want to retrieve the metadata from the version that's in the set: (meta (myset 'foo)) ;;-> {:something 1} Another use would interning -- returning a canonical version of an object. Cheers, Alex -- 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 To unsubscribe, reply using "remove me" as the subject.