Re: Improving the "Get Haskell Experience"

On Fri, Jul 24, 2015 at 11:16 AM Heinrich Apfelmus < apfelmus@quantentunnel.de> wrote:
Michael Snoyman wrote:
Hopefully, they come with suitable documentation. For instance, one thing I don't understand about stack yet is in which location it "magically" installs GHC and packages, and how I can invoke `ghci` from these locations. Somehow, I was unable to understand this from the FAQ.
I think this FAQ entry should help[1] on the first question:
[1]: https://github.com/commercialhaskell/stack/wiki/FAQ [..]
Note that stack setup installs GHC into ~/.stack/programs/$platform/ghc-$version/ and not a global location.
Ah, ok. Can I assume that the non-sandboxed packages are also installed in the ~/.stack directory? That's the other part I didn't understand.
I'm not sure what "non-sandboxed packages" means. Do you mean snapshot-level packages? If so, yes. If you mean project-specific packages: they're all stored in the .stack-work directory of the project itself. My recommendation overall is: build a project with `stack`, and run `stack path` to get information on all of the different paths it's using for various things.
For the second question: either `stack ghci` or `stack exec ghci` should achieve what you're looking for. The former is a bit more experimental, and does more intelligent stuff at the project level as far as loading up your code. The latter simply runs the ghci command with appropriate PATH and GHC_PACKAGE_PATH environment variables set.
`stack ghci` sounds good to me, then. I really like the short startup times of ghci and never use `cabal exec ghci` for that reason.
I think `stack exec ghci` is what you mean, correct?
Best regards, Heinrich Apfelmus
-- http://apfelmus.nfshost.com
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
participants (1)
-
Michael Snoyman