
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
Brandon Allbery
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@gmail.com