Improving the "Get Haskell Experience"

Heinrich Apfelmus apfelmus at
Sat Jul 25 21:52:17 UTC 2015

Michael Snoyman wrote:
>>>> 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.

Sounds good to me. I didn't know about the `stack path` command. 
Hopfully, that could be added to the documentation.

>>> 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?

Err, yes, thanks.

Best regards,
Heinrich Apfelmus


More information about the Libraries mailing list