Actually considering I'm currently writing a game in clojure that contains a lot of state this _is_ a good real world example for me. Thanks very much Laurent.
2009/6/3 Laurent PETIT <laurent.pe...@gmail.com> > > Hi, > > Here is an example of the implementation of the "Visitor" design > pattern in clojure. > Multimethods are sufficiently powerfull and there is nothing explictly > named "xxVisitor" in the code example, since with clojure the Visitor > pattern is a non-issue and solved by the more general multimethod > concept. > > Find the code in the files section of clojure google group : > http://clojure.googlegroups.com/web/state.clj > > And find here an example of using the code : > > 1:6 designpatterns.state=> (-> (create-photo-booth 3) insert-coin > button-identity-photo insert-coin button-release-coin) > Insert coin > Select your photo > Take your identity photo > Select your photo > liberer piece > {:photos 2, :state :needs-coin} > 1:7 designpatterns.state=> > > It's more a tutorial-like example than a "real life" example, but I > hope it will help, > > Regards, > > -- > Laurent > > 2009/6/2 Glen Stampoultzis <gst...@gmail.com>: > > I'm used to polymorphism in OO systems where everything in driven from > > inheritance hierarchy. Clojures defmulti style polymorphism seems > powerful > > but has left me wondering how to most effectively use it. I'm looking > for > > some good real world examples of how people have used polymorphism in > > clojure. > > Regards, > > Glen Stampoultzis > > > > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---