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