On Fri, Apr 29, 2016 at 6:10 AM, Robert P. Goldman <rpgoldman@sift.net> wrote:
TBH, this seems to me like a pretty esoteric use case: I'm curious about how and when you encounter it.

Elsewhere, it happens in large projects where two direct dependencies themselves depend on different versions of the same library.  I haven't had this happen to me in CL, but I expect it to happen if exact version matching were to become prevalent.

In reading this list, and elsewhere, I understand that versioning becomes controversial.  I've experienced both sides of the problem where you either under or over specify the versions of dependencies.  Exact version matching is a useful tool to limit the impact of upstream changes.  However, it does induce trivial domino-updates.  At Amazon, I got used to some tooling and process that reduces the overhead, while also seeing the turmoil caused by teams having to support old versions (they'd pinned/used-exact and would never have "the resources" to update).
 
If you're interested in cool language features, that's one thing, but I can't imagine as an engineering matter that you couldn't hack around the few times this would happen.

While I am interested in cool [features] for HOT languages [1], I recognize the pragmatic approach is sort out the upstream divergence and find some workaround - I'm not arguing one way or the other - just wondered whether and how one might sort it out at the system-builder layer.  

[1]: http://dl.acm.org/citation.cfm?id=277730

--
Ian Tegebo