GHCi: Reimplement +c using the same machinery as .hie files
A number of operations driven by +c
in GHCi are inefficient, for example finding all the types in a module involves a lot of redundant calls to dsExpr
.
A lot of the same logic is implemented more efficiently in the logic which generates .hie
files. It would be good to unify the two mechanisms.
The suggested implementation plan is to replace the [SpanInfo]
in ModInfo
with HieFile
and then fixing all the type errors.
https://gitlab.haskell.org/ghc/ghc/blob/master/ghc/GHCi/UI/Info.hs#L53
cc/ @wz1000