hint
hint copied to clipboard
set visible packages
it is possible to set the visible modules using setImportsQ
; it would be nice to also be able to specify the visible packages (and maybe the list of package databases they are drawn from?) using a similar function.
Until then, a workaround is to use unsafeRunInterpreterWithArgs ["-hide-all-packages", "-package-id", "base-4.15.0.0"]
; that is, pass the same arguments which stack and cabal are passing to ghc and ghci in order to limit the visible packages to those listed in the build-depends
list of the .cabal
file.
To figure out how to implement this, look at the ghci source code and figure out how they implement the :set -package mtl
command.