Skip to content

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

Edited by Matthew Pickering
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information