I've said it before and I will keep saying it: copying symbols by interning 
vars breaks the identity of the original vars. It breaks dynamic binding, 
with-redefs, and the ability to redefine functions at the REPL.

Clojure has a two perfectly good mechanisms for making vars available in 
other namespaces: 

1. `refer`. Define a public function that `refer`s all the symbols you 
want. It's an extra step for the user, but that's good because it makes it 
evident that extra symbols are being added.

2. `load`. If you have N namespaces with no clashing symbols, then you only 
need one namespace. If you want to split it across multiple files, use 
`load`. `clojure.core` does this.

-S

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