I did not intend to say that libraries should never have any dependencies at all. (Perhaps "zero" was too strong in my original post.)
I only ask that libraries try to avoid any **unnecessary** dependencies. Many "utility" libraries fall into this category, especially if you only depend on them for 1 or 2 functions. Given the dependency management tools we have right now, this will make life easier for users of your library. Thanks, -S On Mon, May 13, 2013 at 9:29 AM, Stuart Sierra <the.stuart.sie...@gmail.com>wrote: > Based on a recent thread about "utility" libraries, I would like to > take this opportunity to ask everyone to help us avoid the dependency > mess that Common Lisp has gotten into, where there are over a dozen > such "convenience" libraries[1]. > > By all means, use these libraries in your *applications* if you find > them useful. But please don't make your *libraries* depend on them > unless you really need to. > > Doing this will help application developers who want to use your > library. For example, if my application depends on libraries A, B, and > C, I might end up with transitive dependencies on three different > "utility" libraries. If I want to add library D which depends on an > incompatible version of one of those utilities, I'm stuck. By > adding to the dependencies of your library, you increase the > likelihood of dependency conflicts for consumers. > > The ideal number of dependencies for a library release (not counting > Clojure itself) is zero. Obviously, use common sense. If your library > relies on critical functionality in another library, then make the > dependency. But if you can get by without the dependency (even if that > means copying some of those "utility" functions into your own code and > making them private) then you will make life easier for consumers of > your library. > > Thanks, and happy coding. > -S > > > [1]: http://cliki.net/Convenience%20library > > -- > -- > 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 a topic in the > Google Groups "Clojure" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/clojure/WuS31RSiz_A/unsubscribe?hl=en. > To unsubscribe from this group and all its topics, send an email to > clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- -- 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 unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.