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