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.