I'm familiar with that trick, but is it a language feature (and then I can 
rely on to not being changed in the future)? or is it a hack that based on 
something that may change in future releases?

Thanks,

Yoav

On Monday, March 17, 2014 4:09:23 PM UTC+2, Maik Schünemann wrote:
>
> Hi, 
> I guess that maybe the same trick works for calling private functions 
> from another namespace via getting the var and calling it. 
> That being said, macros calling macros gets very complex after a short 
> time, it is better to have helper functions instead of macros. 
> The functions just accept s-expressions and return s-expressions. I 
> find myself doing exactly that for nontrivial macros. 
>
> Hope that helps, 
> Maik 
>
> On Mon, Mar 17, 2014 at 7:02 AM, Yoav Rubin <yoav...@gmail.com<javascript:>> 
> wrote: 
> > Hi All, 
> > 
> > I have a namespace that has two macros as part of its public API, and 
> > another macro that act as helpers for the public macro 
> > 
> > (defmacro helper-mac [arg1 arg2 f] 
> > ;; do stuff with f , arg1 and arg2 
> > ) 
> > 
> > (defmacro m0 [arg1 arg2] 
> >    (priv-mac arg1 arg2 f1) 
> > ) 
> > 
> > (defmacro m1 [arg1 arg2] ( 
> >   (priv-mac arg1 arg2 f2) 
> > ) 
> > 
> > f1 and f2 are just two functions. 
> > 
> > I would like to make the helper macro private (using  ^:private), but 
> when I 
> > do it and call either m0 or m1 from another namespace, I get an 
> exception 
> > saying that helper-mac is private. 
> > 
> > Is it possible to call from to a macro in another namespace when that 
> macro 
> > is calling a private macro in its namespace? 
> > 
> > Thanks, 
> > 
> > Yoav 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> > Groups "Clojure" group. 
> > To post to this group, send email to clo...@googlegroups.com<javascript:> 
> > Note that posts from new members are moderated - please be patient with 
> your 
> > first post. 
> > To unsubscribe from this group, send email to 
> > clojure+u...@googlegroups.com <javascript:> 
> > 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+u...@googlegroups.com <javascript:>. 
> > For more options, visit https://groups.google.com/d/optout. 
>

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