slow load and typecheck

Brandon Allbery allbery.b at
Tue Oct 8 15:05:34 UTC 2019

It reuses the .hi files already built for other modules. Those aren't in
the source directory but under a build directory. If they don't exist
there, it will build the dependencies to create them.

On Tue, Oct 8, 2019 at 10:57 AM Sam Halliday <sam.halliday at> wrote:

> Brandon Allbery <allbery.b at> writes:
> > It's doing what you — but not ghc — consider "extra work", though. ghc
> > expects to be compiling code, and doesn't have a separate code path for
> > "load symbols from an external module by parsing its source code" instead
> > of "load symbols from an external module by loading its .hsc file and
> > object code", aside from HscInterpreted.
> I'm confused: it sounds like you saying that only HscInterpreted can
> load symbols of dependencies from object code. Then how does cabal+ghc
> do this when I make a change to one file in my project and do a
> recompile of the package?
> BTW, I am seeing modules going through CodeGen that are not part of the
> file's dependency graph... LoadUpTo is behaving more like LoadAll.
> --
> Best regards,
> Sam

brandon s allbery kf8nh
allbery.b at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list