>
>  All your macro needs to do is to convert the first form into the second. 

 

> thanks james, that make sense for me...


>
I don't know what the rest of your function is supposed to be doing 


you can check my second example 

(def data (atom ""))
(defmacro blahhh []
   (go
      (let [ch (chan)]
         (do
            (loop []
               (let [res (<! ch)]
                  (if (= res "secret")
                     (do (println ">>" res)
                         (reset! data res))
                     (recur)))))
            (do(doseq [word ["blah" "bang" "secret" "goal"]] (put! ch word))))))


It only waits a specific value in the channel and do somehting...in this case 
change an atom...I'm still curious about why I get that error when I declare it 
likes macro but it works when it's a function


3)  I've this other code


(defmacro defbus [bus-name args code]
   `(eb/on-message (str *ns* ":" ~bus-name) (fn ~args ~code)))




basically I need convert from this


(defbus some-bus [a] (eb/reply (str ">>" a)))

to this


(eb/on-message "some-namespace:some-bus" (fn [a](eb/reply (str ">>" a))))

 
I did this

(defmacro defbus [bus-name args code]
   `(eb/on-message (str *ns* ":" ~bus-name) (fn ~args ~code)))


or


(defmacro def-bus [bus-name args code]
   `(let [fun# (fn ~args ~code)]
       (eb/on-message (str *ns*   ~bus-name) fun#)))




the macro-expansion looks ok but when I try use it..I get some-bus is not 
defined..seems than it's trying evaluate the name..is it ok??..how can avoid 
it??...


thanks again james

-- 
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