I'm new to Clojure and have a long background in Java. After writing Clojure code for a month or so now, I find myself struggling with function size. If I have expressions that can be grouped by association, then I can re-factor these expression(s) into a function. However, the newly re-factored function is then accessible outside the (let []) of the function from which I'll access it. This seems wrong since my new function is only intended to be accessed from it's calling function.
In Java, code separation is encouraged to promote cohesion. Classes are intended to be small and single purpose in nature. The class's public method(s) are intended to provide the interface (or api) by which the functionality of the class is accessed. In Java I can constrain access to a method by declaring it private making it invisible to calling classes. For Clojure I'd like to be able to specify the function or set of functions that expose the api of a namespace without implying that every function in the namespace is meant to be accessed directly. -jbs -- 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