I have done this sort of this with with-redefs to look at the input and 
output of functions inside a library I was using.

http://clojuredocs.org/clojure_core/clojure.core/with-redefs

I may have a small macro to assist. I can post later if you wish.

You need to be careful of binding boundaries though - so its not ideal in 
all situations (i.e later lazy evaluations).

Dave


On Wednesday, 14 May 2014 00:09:22 UTC+10, t x wrote:
>
> Suppose we had the following: 
>
>
> (defn stupid-wrapper [f args] 
>   (. js/console log args) 
>   (let [ans (f args)] 
>     (. js/console log ans) 
>     ans)) 
>
> It basically logs the arguments + return value on every function call. 
>
>
> Now, suppose I wanted to do this to _functions that already existed_ . 
> Is there a way to do this? 
>
> I.e. someone already wrote: 
>
>
> (defn foo [ ... ] ... ) 
>
> now, I want to do : 
>
> (black-magic! foo) 
>
> ;; and have this "wrap" the foo function. Is there a way to make this 
> work? 
>
> Thnaks! 
>

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to