Improving the "Get Haskell Experience"

Greg Weber greg at
Mon Jul 13 13:34:58 UTC 2015

On Mon, Jul 13, 2015 at 12:34 AM, Kosyrev Serge <_deepfire at
> wrote:

> Greg Weber <greg at> writes:
> > The main reason I am using stack is for its support for building a
> project
> > containing multiple packages. There aren't any other tools that make
> this a
> > first-class concept that is easy to use and not buggy.
> > In addition, stack has a first-class concept of curated package sets.
> All of these
> > are required to have smooth installs in real world projects, and they
> aren't
> > likely to appear in cabal-install in a short time frame.
> The problem that I'm personally facing all too often, is exploratory
> development, where the modus operandi is to try using versions/branches
> that are not yet released on Hackage.
> Things like this happen especially during GHC version transitions, where
> ghc-new buildability of libraries/tools is often in flux, and so you
> /have/ to chase the tail (or is it HEAD?).
> As an example, the version of ghc-mod that works with 7.10 is still
> unreleased on Cabal -- months passed, the prospects still indefinite.
> But it also happens out of plain curiosity and willingness to try out
> how new things could affect the way of problem expression.
> For an example of that, let's take the 'nokinds' branch of GHC, where
> Richard Eisenberg does research on formulating GHC with dependent types.
> Another situation where these things matter especially is collaborative
> development -- trying to help with bugs, for example.
> All these things ring of the same, actually..
> ..where Hackage puts a mild barrier to sharing small contributions with
> the world, Stack puts a wall.

I think you are using the wrong terminology. You probably mean to compare
"stackage" with "Hackage".
But your replly is supposed to be about "stack", which has first-class
support for building packages that are not on Hackage as part of your
project, including fetching the package from github for you.

> Which is a good thing.
> But also a bad one.
> ..and unless I'm wrong, and we're indeed moving to a world where people
> would
> increasingly use Stack, this dichotomy is /bound/ to become more pressing.
> Curiously, there's a technology to solve to both sides of the story -- Nix,
> which was mentioned before, but I think its salient point applies
> especially
> well to this dichotomy:
>  1. use the existing curated releases, but also can
>  2. override packages with a Github fork URL, commit id and the physical
>     checkout hash -- and have everything pick it up in a transparent,
> fixpoint way.

Again, there is already support for this in stack. Give it a try.

> Admittedly it's not been made as trivial to use -- there's more moving
> parts to factor, and up until now there just wasn't any party seriously
> interested in doing the user-facing parts.
> ..And so, I can't help but wonder.. what if the Stack authors would have
> applied their expertise to provide the same user experience they
> achieved..
> ..but with Nix as an underlying technology?

Then stack would be forcing Windows users to use cygwin

> --
> respectfully,
> Косырев Серёга
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Libraries mailing list