I've created a new Clojure intro at http://en.wikibooks.org/wiki/Learning_Clojure. While Rich's screencasts and reference docs are great, they don't always lay things out in a digestible order. My intro is meant as a sequential tour through the essential concepts, not a practical tutorial. In particular, my examples are deliberately cursory and abstract, and my API coverage is very minimal.
I'm sure the text has some rough spots because at times I went ahead and speculated about points I'm not 100% about. For instance, the way I described the evaluation rules coherently explains how ((foo) bar) is evaluated, but I'm not sure the rules I described are how Clojure actually works. The text is also a bit out of date already, e.g. I don't mention AOT or Atoms. So please read through the text and correct or excise any gaffes, or please comment on deficiencies here or the book's talk page. One thing I'd like to add is a discussion about how to imitate traditional single- or multiple-inheritance using multimethods, including basics like how to organize such code into files and namespaces, but I'm not clear on how this should be done myself. Another issue I had is we don't have a good blanket term for Vars, Refs, Agents, and Atoms. Rich sometimes calls them "reference types", but that term already has a different meaning in Java. I considered "meta-references", but then I realized that, say, the symbol pointing to a Var is a meta-reference---a reference pointing to a reference--- not the Var itself. I've settled for now on "reference object" and "reference object type", but these are confusingly close to "reference type". --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---