I find the pdf actually pretty useful as a quick reference until I'm familiar with all the function names.
There's however a small mistake on page 28. The 'd' doesn't belong there in the 2nd line of this example: (let [{a :a, b :b, c :c, :as m :or {a 2 b 3}} {:a 5 :c 6}] [a b c d m]) -> [5 3 6 {:c 6, :a 5}] Rowdy On Jun 25, 9:52 am, Rich Hickey <richhic...@gmail.com> wrote: > On Wed, Jun 24, 2009 at 7:18 PM, Stephen C. Gilardi<squee...@mac.com> wrote: > > > On Jun 24, 2009, at 7:02 PM, arasoft wrote: > > >> Why does this work? > > >> (take-while (complement #{\a\e\i\o\u}) "the-quick-brown-fox") > > >> When I do something similar, like > > >> (take-while (complement #(Character/isWhitespace %)) "the-quick-brown- > >> fox") > > >> I have to deal with the parameter explicitly ("%"). How is the > >> parameter hidden in the set/function? Could I do something like that > >> in my own code (not sure I'd want to, just curious what magic is at > >> work here)? > > > In addition to functions, several of Clojure's other objects are > > "invokable"--they can operate successfully as the first item in a call > > expression (a list in code). > > > Invoking a set returns the element in the set that's = to the argument or > > nil > > Invoking a map returns the value in the map whose corresponding key is = to > > the argument or nil > > Invoking a keyword requires a map as its argument and returns the value in > > the map corresponding to the key that's = to the keyword or nil > > > "Being invokable" in Clojure is equivalent to implementing the IFn > > interface. You can see in this diagram which objects in Clojure implement > > IFn: > > >http://github.com/Chouser/clojure-classes/blob/032beae497fddc426db05c... > > > (IFn is at the lower right). > > For all those who want to understand how the class hierarchies map to > various Clojure abstractions, I have broken down that (rather > daunting) graph into separate areas in various slides from the > tutorial I gave at ILC09: > > http://clojure.googlegroups.com/web/tutorial.pdf > > There you can much more clearly see how the collections, seqs, refs, > and various concepts like > sequential/associative/counted/reversible/metadata/callability/java > collection/java interop are organized. > > Rich --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---