One other option is to use "binding" to overwrite the value in a certain context. I.e. you have
(defn do-something-elegantly ...) (defn do-something-quickly ...) (def do-something do-something-elegantly) But, then you have some function that needs to be run quickly: (defn needs-to-be-fast [] (do-something ...)) For your call to needs-to-be-fast, you can just (binding [do-something do-something-quickly] (needs-to-be-fast)) and it will use the quickly version for that context and switch back to the elegant version in other contexts. That said, you probably want to pass the function to the data like John/Adrian mentioned --Eric Tschetter --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---