By creating new game objects rather than mutating existing ones you could do things you wouldnt otherwise be able to do. Perhaps you have different solver strategies that you want to apply in parallel. Provided you can give each solver its own copy this is trivial, but if your datastructures require mutation this gets messy fast. When passing objects as parameters dependencies are more explicit, you can of course group related objects together and pass them as a single parameter and what not.. destructuring as needed. In practice its not as bad as it seems. For values like configuration settings that are not usually changed you might consider dynamic vars to reduce number of parameters.
-- 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