[Haskell-cafe] technical thoughts on stack

Paolo Giarrusso p.giarrusso at gmail.com
Tue Sep 13 20:01:28 UTC 2016

On Tuesday, September 13, 2016 at 9:47:20 PM UTC+2, Richard Eisenberg wrote:
> Thanks, many, for explaining better ways to interact directly with GHC 
> after using a `stack setup`. Perhaps, then, all that’s stopping someone 
> like me from liking the ease of `stack setup` is a little missing PR (as 
> in, public relations). I understand that many people want to keep GHC 
> cloistered away to ease version swapping, but others (like me) want GHC 
> available front and center.
> Other minor points:
> `stack env` does not work for me: my version of stack does not know how to 
> `env`.

That's correct—stack env was a feature request.

The warning on `stack ghci` doesn't happen usually, but I'd say that's a 
bug (probably because it's a new install)?

I use stack (and have contributed a bit recently), but I agree there's a 
few things stack could do better for this workflow.

And the transition has a rather annoying learning curve—stack ghci and 
stack ghc are not the same as ghci/ghc. I think that's on purpose to 
support a project-based workflow, and it has upsides, but it's a transition 
 Lots of things *are* explained in https://docs.haskellstack.org/en/latest/faq/, 
but you do need learn a few things from scratch.

You want stack exec ghc and stack exec ghci, and arbitrary options require 
a double dash `--` — use `stack ghc -- --version` or `stack exec -- ghc 
--version`. And I'm afraid the command syntax is mostly frozen by now.

To support a compiler-based workflow, there are a few things planned—I 
opened an issue to collect them, starting from Simon Marlow's recent email:

BTW, a system-installed GHC already works if you stick to one (and only 
build projects that need that). But I'd love to support multiple 
system-installed GHCs and being able to pick the one you need.

As others already explained, giving access to stack-installed GHCs can be 
problematic—they're going to work, in part, exactly because you can't 
install in their package database.

Having stack install system-wide GHCs would IMHO risk opening a can of 
worms—having working binaries for all Linux distros requires some work, 
system installers would be harder and most users would dislike them.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20160913/1725420d/attachment.html>

More information about the Haskell-Cafe mailing list