[Haskell-cafe] [Haskell-community] technical thoughts on stack

Christopher Allen cma at bitemyapp.com
Tue Sep 13 20:10:55 UTC 2016


Stack isn't exclusively for applications or libraries, the
recommendation to add Cabal to your CI if it's a library is about
checking buildability for Cabal users (making sure your bounds don't
make the solver bonkers), not for workflow.

On Tue, Sep 13, 2016 at 3:08 PM, Paolo Giarrusso <p.giarrusso at gmail.com> wrote:
> On Tuesday, September 13, 2016 at 8:58:53 PM UTC+2, Richard Eisenberg wrote:
>>
>> I’ve watched the recent back-and-forth about stack with quite a bit of
>> interest (as many of us have). The discussion inspired me to take another
>> look at stack. Here are the results of that foray.
>>
>> First, a disclosure: While I have appreciated the emergence of a new build
>> tool for Haskell, I have never much liked stack. One of my chief goals in
>> taking another look is to understand better why I do not like it.
>
>
>>
>> At this point, I am reminded why I dislike stack:
>>
>> **It’s optimized for a different workflow than I use.**
>>
>> And I think this fact (repeated by others’ experiences) is why a segment
>> of our community has not celebrated stack as much as other segments have. We
>> all have different workflows.
>>
>> From what I understand about it, stack is great for a project-based
>> workflow. In this workflow, you are working on a Haskell project. You are
>> happy to specify settings in .cabal and stack.yaml files. And you really
>> want your build to work in the future and on other machines.
>>
>> In my experience, stack is not great with a compiler-based workflow. In
>> this workflow, you aren’t quite as organized perhaps and do not have all
>> your settings written. You also want the ability just to compile a file
>> without changing any configurations. You want to be able to start GHCi with
>> a nice set of libraries with which to experiment.
>
>
> I think this is insightful, but this is also (in part) about different kind
> of projects: applications versus libraries. Not accidentally, if you
> maintain a Hackage library, stack docs recommend you setup CI with both
> stack and cabal. (Though I'll still use stack for local development for a
> library).
>
> https://docs.haskellstack.org/en/latest/travis_ci/
>
>
> _______________________________________________
> Haskell-community mailing list
> Haskell-community at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-community
>



-- 
Chris Allen
Currently working on http://haskellbook.com


More information about the Haskell-Cafe mailing list