You can bind functions inside a let, which can help if you're just trying to make code less nested. The thread-first and thread-last macros help here too. But if you're looking for the equivalent of the "private" keyword (sort of) check out defn-. Note the dash at the end.
On Sunday, May 30, 2010, jbs <seltzer1...@gmail.com> wrote: > 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 -- 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