I'm having trouble finding good advice and common practices for the use of namespaces in Clojure. I realize that namespaces are not the same as Java packages so I'm trying to tease out the conventions in Clojure, which seem surprisingly hard to determine.
I think I have a pretty good idea how to split functions into clj files and even roughly how I'd want to organize those files into directories. But beyond that I'm having trouble finding the mechanics for my dev environment. Some inter-related questions:
- Do I use the same uniqueness conventions for Clojure namespaces as I would normally use for Java packages? [ie backwards-company-domain.project.subsystem]
- Should I save my files in a directory structure that matches my namespaces? [ala Java]
- If I have multiple namespaces, do I need to compile all of my code into a jar and add it to my classpath to make it accessible?
- Should each namespace compile to one jar? Or should I create a single jar that contains clj code from many namespaces?
Thanks...