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.halli...@gmail.com> wrote: > Brandon Allbery <allber...@gmail.com> 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 allber...@gmail.com
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs