Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Load a new package in ghci using stack

Is there a way to load a package(s) using Stack in GHCI and play around with it ?

So, that when the ghci is loaded, we can import the modules and see it's type signature, etc.

like image 530
Sibi Avatar asked Oct 04 '16 09:10

Sibi


1 Answers

For the packages present in Stackage,

$ stack ghci --package unix-time

And this will give you a repl with the package unix-time loaded in it:

Run from outside a project, using implicit global project config
Using resolver: lts-6.14 from implicit global project's config file: /home/sibi/.stack/global-project/stack.yaml
GHCi, version 7.10.3: http://www.haskell.org/ghc/  :? for help
λ> import Data.UnixTime
λ> :t getUnixTime
getUnixTime :: IO UnixTime

For multiple packages:

$ stack ghci --package unix-time --package download
Run from outside a project, using implicit global project config
Using resolver: lts-6.14 from implicit global project's config file: /home/sibi/.stack/global-project/stack.yaml
tagsoup-0.13.10: using precompiled package
xml-1.3.14: using precompiled package
time-locale-compat-0.1.1.3: using precompiled package
feed-0.3.11.1: download
feed-0.3.11.1: configure
feed-0.3.11.1: build
feed-0.3.11.1: copy/register
download-0.3.2.4: download
download-0.3.2.4: configure
download-0.3.2.4: build
download-0.3.2.4: copy/register
Completed 5 action(s).
Configuring GHCi with the following packages:
GHCi, version 7.10.3: http://www.haskell.org/ghc/  :? for help
Ok, modules loaded: none.
λ> import Network.Download
λ>
like image 56
Sibi Avatar answered Oct 18 '22 16:10

Sibi