
I would like to point my cabal file to the latest Stackage snapshot. I seem to recall that there is a link which will automatically resolve to this, but I can no longer find it. Does this link still exist? Is there a good reason for not doing so? I understand that this will introduce a little instability, but I'm OK dealing with that in return for not getting stuck on the same package versions forever.

On Tue, Sep 2, 2014 at 10:27 AM, Jeremy
I would like to point my cabal file to the latest Stackage snapshot. I seem to recall that there is a link which will automatically resolve to this, but I can no longer find it.
Does this link still exist? Is there a good reason for not doing so? I understand that this will introduce a little instability, but I'm OK dealing with that in return for not getting stuck on the same package versions forever.
_______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners
The preparing your system for Stackage page[1] has those auto-updated links available (e.g., GHC 7.8 exclusive is [2]). 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. Michael [1] https://github.com/fpco/stackage/wiki/Preparing-your-system-to-use-Stackage [2] http://www.stackage.org/alias/fpcomplete/unstable-ghc78-exclusive

The preparing your system for Stackage page[1] has those auto-updated
Michael Snoyman
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.

On Wed, Sep 3, 2014 at 10:52 AM, Peter
Michael Snoyman
writes: The preparing your system for Stackage page[1] has those auto-updated links available (e.g., GHC 7.8 exclusive is [2]).
Thank you. I read the page at least 3 times, but missed that because the links redirected to the latest snapshot, and the Stackage server only has static snapshot links. Perhaps it should be made clearer that these links will redirect to the current snapshot, and add them to http://www.stackage.org/snapshots as well?
That would be a good idea if I wanted people to directly use those URLs, which I think is generally a bad idea. The lack of explicitness about the presence of a redirect there is a feature, not a bug ;).
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. Michael

Michael Snoyman
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.
participants (3)
-
Jeremy
-
Michael Snoyman
-
Peter