<div dir="ltr"> <div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 13, 2015 at 12:34 AM, Kosyrev Serge <span dir="ltr"><<a href="mailto:_deepfire@feelingofgreen.ru" target="_blank">_deepfire@feelingofgreen.ru</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">Greg Weber <<a href="mailto:greg@gregweber.info">greg@gregweber.info</a>> writes:<br>
> The main reason I am using stack is for its support for building a project<br>
> containing multiple packages. There aren't any other tools that make this a<br>
> first-class concept that is easy to use and not buggy.<br>
> In addition, stack has a first-class concept of curated package sets. All of these<br>
> are required to have smooth installs in real world projects, and they aren't<br>
> likely to appear in cabal-install in a short time frame.<br>
<br>
</span>The problem that I'm personally facing all too often, is exploratory<br>
development, where the modus operandi is to try using versions/branches<br>
that are not yet released on Hackage.<br>
<br>
Things like this happen especially during GHC version transitions, where<br>
ghc-new buildability of libraries/tools is often in flux, and so you<br>
/have/ to chase the tail (or is it HEAD?).<br>
<br>
As an example, the version of ghc-mod that works with 7.10 is still<br>
unreleased on Cabal -- months passed, the prospects still indefinite.<br>
<br>
But it also happens out of plain curiosity and willingness to try out<br>
how new things could affect the way of problem expression.<br>
<br>
For an example of that, let's take the 'nokinds' branch of GHC, where<br>
Richard Eisenberg does research on formulating GHC with dependent types.<br>
<br>
Another situation where these things matter especially is collaborative<br>
development -- trying to help with bugs, for example.<br>
<br>
All these things ring of the same, actually..<br>
<br>
..where Hackage puts a mild barrier to sharing small contributions with<br>
the world, Stack puts a wall.<br></blockquote><div><br></div><div>I think you are using the wrong terminology. You probably mean to compare "stackage" with "Hackage".<br></div><div>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.<br><a href="https://github.com/commercialhaskell/stack/wiki/stack.yaml#project-config">https://github.com/commercialhaskell/stack/wiki/stack.yaml#project-config</a><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Which is a good thing.<br>
<br>
But also a bad one.<br>
<br>
..and unless I'm wrong, and we're indeed moving to a world where people would<br>
increasingly use Stack, this dichotomy is /bound/ to become more pressing.<br>
<br>
Curiously, there's a technology to solve to both sides of the story -- Nix,<br>
which was mentioned before, but I think its salient point applies especially<br>
well to this dichotomy:<br>
<br>
 1. use the existing curated releases, but also can<br>
 2. override packages with a Github fork URL, commit id and the physical<br>
    checkout hash -- and have everything pick it up in a transparent, fixpoint way.<br></blockquote><div><br></div><div>Again, there is already support for this in stack. Give it a try.<br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Admittedly it's not been made as trivial to use -- there's more moving<br>
parts to factor, and up until now there just wasn't any party seriously<br>
interested in doing the user-facing parts.<br>
<br>
..And so, I can't help but wonder.. what if the Stack authors would have<br>
applied their expertise to provide the same user experience they<br>
achieved..<br>
<br>
..but with Nix as an underlying technology?<br></blockquote><div><br></div><div>Then stack would be forcing Windows users to use cygwin<br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class=""><font color="#888888"><br>
--<br>
respectfully,<br>
Косырев Серёга<br>
</font></span></blockquote></div><br></div></div>