<div dir="ltr">On Sunday, November 29, 2015 at 1:23:58 PM UTC+1, Michael Snoyman wrote:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><p dir="ltr">For your particular example, you can use the transformers-compat package.</p></blockquote><div><br></div><div>Thanks, that's useful!</div><div><br></div><blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><p dir="ltr">But to answer your general question: for applications, I strongly advocate supporting just a single set of package version combos for dependencies. Stack does do this by default, but cabal freeze files can get you most of the way there too (barring some corner cases with different OSes and OS-specific packages).</p>
<p dir="ltr">I'm sure others will disagree with this recommendation, but I see no reason to absorb a large amount of compatibility work just so that two installations of the same application may end up behaving differently at runtime because of differences in the behavior of a dependency.</p></blockquote><div> </div><div>Personally, I switched all the way to stack. I added mention of cabal sandboxes to address anybody who didn't switch yet or who prefers to stick to cabal.</div></div>