I am not actually familiar with this form, don't know what [types] actually 
does:
(:require [macros.arrow :refer (=>)]
                  [types])
 
I don't think you need to be requiring the cljs macros twice as you seem to 
be doing in both forms.

Macros are in general somewhat of a sore spot in clojurescript. They work, 
but only by being sort of inlined into clojurescript from clojure. Giving 
macros parity in clojurescript is an open problem, and seems to be very 
difficult. Smarter minds than mine have looked at it and decided that what 
we have is the most pragmatic solution.

Macros in cljs need :require-macros, not much to be done about that.

Only real advice I can give is that in my opinion, if you are going to use 
cljx with defmacro's (as you appear to have done with 'macros.arrow), then 
you should put them in separate namespaces; something like 'macros.arrow 
and 'macros.cljs.arrow . Unless your macros can be shared across cljs AND 
clj, best to put them in different namespaces. By my (fallible) memory this 
really helped with getting the cljx-plugin working, otherwise I had funny 
errors where it appeared to be loading the clj macro instead of the cljs 
one.

-- 
-- 
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/groups/opt_out.

Reply via email to