[Haskell-beginners] Stackage latest snapshot

Peter voldermort at hotmail.com
Wed Sep 3 08:37:47 UTC 2014


Michael Snoyman <michael <at> snoyman.com> writes:

> > You already identified the downside with this: you may magically be
> upgraded to a new version of a package. If you really want to do this, you
> can, but my recommendation is to manually decide to upgrade your Stackage
> snapshot consciously instead of letter an arbitrary Jenkins build server
> make the decision for you.
> I'm using Stackage as a QA'd Hackage. It sounds like you see it more as a
> server-side cabal freeze.
> 
> 
> I'm not sure what distinction you're going for in this. Imagine the
following sequence of events:
> 
> * You set up your system to use Stackage, with September 1's snapshot
being active at the time.
> 
> * You install foo-1.1, with bar-1.1 depending on it.
> 
> * A new Stackage snapshot comes out, providing foo-1.2.
> 
> * You now try to install something depending on foo, and depending on the
alignment of the stars, cabal will either download a new foo or use the
already installed one.
> 
> In other words, the usage you seem to be implying is highly
non-deterministic, which I'd be very careful about using.

There are 3 levels of stability:

 1. Hackage, where any package may fail to compile, even by itself.
 2. Stackage latest, where at any one time, all packages will compile
together. New packages won't get in until they meet this stability criteria.
 3. Stackage snapshot, where all packages will compile together, and never
change.

All of these have legitimate uses. I prefer developing with 2, to avoid
being stuck with the same package versions until I change the snapshot, and
I'm prepared to fix up the example you gave manually if need be.

I guess it's similar to the difference between yum, which automatically
updates the package list on a fairly frequent basis, and apt-get, which
requires an explicit update. I personally prefer yum's approach (as do Red
Hat / Fedora), but I haven't seen any Debian folks calling to change apt.



More information about the Beginners mailing list