Search code examples
haskellcabalghc-pkg

Is there a simple way to load extra packages to ghci when invoked via cabal repl?


cabal repl is quite useful for debugging a library, however ghci will have all packages hidden that aren't dependencies of the cabal package. While that is certainly a good thing for cabal build, for repl it means I can't load something from an unrelated package for a quick test.

I can access any package by issuing :set -package, but that'll unload all modules from the pacakge I'm working on, defeating the point of cabal repl.

What's a nice way to simply load packages I have installed, but don't want as dependencies to my library?


Solution

  • cabal repl --ghc-option='-package xyz'
    

    This will load the package you are calling cabal repl from and the package xyz.

    To do that after the fact, i.e. when you're already in the REPL and want to load an extra helper module from another package:

    GHCi> :set -package xyz
    GHCi> :m +XYZ.Module.You.Suddenly.Need