title: How to search for a function in namespaces not 'required' or 'used' in Clojure?
body: <p>How can I search for a function in namespaces not 'required' or 'used' in a Clojure source file?  Basically what I'd like to do is have source files:</p>
  
  <pre><code>main.clj,
  a.clj,
  b.clj,
  c.clj
  </code></pre>
  
  <p>all compiled together but not directly <code>import</code> / <code>require</code> / <code>use</code>  a, b, or c in main. Instead I have main take a command line parameter that would then search for the right function (perhaps even just a fully qualified symbol).</p>
  
  <p>I looked at <code>ns-publics</code> but it requires a namespace symbol.  I tried <code>bultitude</code> to get all the namespaces from with the src/ dir and I get back the lib.a, lib.b, lib.c, lib.main etc, but since main doesn't use or require or otherwise refer to the other namespaces I get an error using ns-publics. <code>No namespace lib.a found</code> as per the <a href="https://github.com/clojure/clojure/blob/master/src/clj/clojure/core.clj#L3741" rel="nofollow">try in the-ns source code</a>.</p>
  
  <p>How can I look at the public interface of code included in the project but not directly referred to by a specific file, or even a dependency of a reference?</p>