slow load and typecheck

Brandon Allbery allbery.b at gmail.com
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 gmail.com> wrote:

> Brandon Allbery <allbery.b at 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
allbery.b at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20191008/f2256283/attachment.html>


More information about the ghc-devs mailing list