I want to write a function or macro that allows me to output the value of an expression without repeating it. For example, I want something like (dump (+ 1 2)) to output "(+ 1 2) = 3".
This works. (defn dump1 [string] (println string "=" (load-string string))) (dump1 "(+ 1 2)") Note how I had to put the expression passed to dump1 in quotes to make a string. I'm wondering if there is a way to avoid that using a macro. The hard part is printing the expression. The following doesn't work. It outputs "3 = 3". (defmacro dump2 [expr] `(let [value# ~expr] (pr ~expr) (println " =" value#))) (dump2 (+ 1 2)) -- R. Mark Volkmann Object Computing, Inc. --~--~---------~--~----~------------~-------~--~----~ 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 clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---