[Haskell-cafe] Compatibility etiquette for apps, with cabal sandboxes and `stack`

Paolo Giarrusso p.giarrusso at gmail.com
Sun Nov 29 11:54:28 UTC 2015


Hi all,

IIUC, people used to spend nontrivial effort making their Haskell tools 
work across a range of dependencies, and be careful about dropping support 
for older ones. 

Do cabal sandboxes or Stack reduce that need, at least for applications?* 
Or conversely, how bad is it to restrict support to users having them? I 
guess I am asking about common policies, but this probably depends on 
adoption of those tools.

As in:

a) without sandboxes or Stack, packages need to build with whatever 
environment is there.
b) with either of sandboxes or Stack, you can just specify the environment 
and get it. With Stack, you can even specify whichever (supported) GHC you 
want, without impacting the environment.

Concretely, Control.Monad.Trans.Error is deprecated in 
transformers-0.4.3.0, but the replacement Control.Monad.Trans.Except does 
not exist in transformers-0.3.x, thus in the one-but-last Haskell Platform 
(2014.2.0.0). Hence, fixing the deprecation would make this application 
hard to install** for some users, including past me (around two months 
ago).*** Would you apply such a patch? Would you keep it out? Or would you 
even use CPP (something I'd really like to avoid)?

Cheers,
Paolo

* I take for granted libraries are a different matter — composing libraries 
means intersecting their supported versions.
** I'll omit detailing "hard to install", because that's a matter of 
opinion; I considered `constraint: transformers installed` necessary in my 
cabal config (https://www.vex.net/~trebla/haskell/cabal-cabal.xhtml), and 
I've read that's becoming the default in the HP, so I think users are 
entitled to this opinion.
*** This particular app has a tiny userbase, so my question is a curiosity.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20151129/21bebdcb/attachment.html>


More information about the Haskell-Cafe mailing list