Yes, by all means please just copy-n-paste out of
https://github.com/runa-dev/kits if it simplifies your dependency tree.

On Sun, May 12, 2013 at 8:53 PM, Dave Kincaid <kincaid.d...@gmail.com>wrote:

> Thanks for this, Stuart. I hope it's not too late. As one who has spent
> the last couple weeks spinning up a new project that uses its own local Ivy
> repository I've been feeling this pain first hand. The number of
> dependencies I have had to add just for a few Clojure libraries has been
> quite painful. I attributed it to how young the language is that these
> utility libraries haven't had time to consolidate.
>
>
> On Sunday, May 12, 2013 6:29:28 PM UTC-5, Stuart Sierra 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<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.
>
>
>

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


Reply via email to