Hello,

I'm trying to write a library with two main parts. The first is a
macro, I'll call it 'with-feature, that walks through forms passed
inside it, and any time it sees a call to another function in my
library, 'feature, do some transformations.

The problem I'm concerned about is as follows: When my macro sees the
forms that are passed into it, the symbols come in however the consumer
of the library wrote them. So say I :require my library and alias it to
'mylib', then the call 'with-feature is looking for appears as
'mylib/feature. Or, I could :use the library, and then it would appear
as 'feature, or I could alias 'feature to 'banana--you get the idea.

I don't want to reserve some magic symbol name that defies namespace
rules, so that if the library consumer code uses the symbol 'feature
to mean something different, they get bizarre results.

What is a good pattern for writing the "matching" logic in such a
selectively-transforming macro so that it can properly find the magic
call it's looking for in the presence of normal namespacing behavior?

Thanks,

-Kyle

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

Reply via email to