I think for me at least leveraging the polymorphism that the seq abstraction provides gets you such a long way compared to collection libs in other languages that you don't have to reach for the other features as quickly. I think Rich even stated that as one of the reasons for delaying their introduction in the first place, he wanted people to become comfortable making full use of seqs.
Cheers, James S On Jul 13, 9:03 pm, Ambrose Bonnaire-Sergeant <abonnaireserge...@gmail.com> wrote: > I've found that (some of) Clojure's advanced features are best taught in > terms of simpler ideas > that most programmers would be familiar with. > > For example, excuse the plug, I motivated multimethods by relating them to > simple conditionals > like "case". I think I succeeded in making MMs just look like a fancier > conditional, which is much > more friendly than an "arbitrary dispatch mechanism" ;) > > http://pragprog.com/magazines/2011-07/growing-a-dsl-with-clojure > > I'm brainstorming how we could approach teaching the other features you > mentioned similarly. > > Thanks, > Ambrose > > > > On Wed, Jul 13, 2011 at 6:52 PM, Albert Cardona <sapri...@gmail.com> wrote: > > Chas, > > > "It seems that relatively few people are taking advantage of some of > > Clojure’s most sophisticated and unique features: metadata; protocols, > > records, and types; and multimethods. These facilities are absolutely > > game-changers, at least IMO. Either most domains have no use for them > > (I can’t believe that), or most people don’t know how to use them > > effectively, thus they are left unused. Those of us that write about > > and teach Clojure, take note." > > > What prevents me from using it is that clojure 1.3.* is still alpha or > > early beta, and it's been for a long time. > > If clojure 1.3 was released and development continued into 1.4, I > > predict that protocols and records would suddenly start being used a > > lot more. > > > Albert > > > -- > >http://albert.rierol.net > >http://www.ini.uzh.ch/~acardona/ > > > -- > > 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 -- 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