I try to use namespaces in layers.  Each namespace defines an "interface" as 
a set of functions, and only calls functions of the layer(s) "below" it.  I 
build from small utilities and Java interop at the "bottom" layer, to 
application-level logic in the "middle" layers, with the external API in the 
"top" layer.

This helps with the one hard-and-fast rule of Clojure namespaces: no 
circular dependencies.  If namespace A depends on namespace B, then 
namespace B cannot depend on namespace A.

For naming, the Java package convention is pretty good at avoiding 
conflicts. 

-Stuart Sierra
clojure.com

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