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

cabal, ghc-pkg, haskell

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

Problem

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

Original source