Help with debugging a batch mode (or type checker) bug

Ömer Sinan Ağacan omeragacan at gmail.com
Tue Oct 15 07:04:45 UTC 2019


Thanks Simon,

I can't confirm just yet, because it's impossible to print the Id details in the
TypeEnv (probably because of some know-tying somewhere?), but looking at the
code I can't see where we update ModDetails returned by hscIncrementalCompile in
compileOne' (used by batch mode but not by one-shot mode), so I think you're
right about this being the problem.

Ömer

Simon Peyton Jones <simonpj at microsoft.com>, 15 Eki 2019 Sal, 00:35
tarihinde şunu yazdı:
>
> In --make mode, after compiling module M, rather than serialising M.hi and the deserialising and typechecking it, we simply use the type environment generated by compiling M and put it into M's entry of the Home Package Table (HPT).
>
> But we have to take care to ensure that the IdInfo in that type-env matches the IdInfo that would be obtained by reading M.hi.  This is the tidy_type_env returned by TidyPgm.tidyPgm.
>
> Now, in your cafInfo work you are working out the CAFFy-ness of Ids later, and popping this info into M's ModIface.  But of course, in --make mode, you must _also_ put that same info into M's md_types type envt in the ModDetails returned by tidyPgm.
>
> I bet that omitting that step is the problem.
>
> Simon
>
> | -----Original Message-----
> | From: ghc-devs <ghc-devs-bounces at haskell.org> On Behalf Of Ömer Sinan
> | Agacan
> | Sent: 14 October 2019 20:31
> | To: ghc-devs <ghc-devs at haskell.org>
> | Subject: Help with debugging a batch mode (or type checker) bug
> |
> | Hi,
> |
> | In !1304 I'm currently having a bug where I get correct IdInfos for
> | imported Ids in one-shot mode (-c), but not when I use batch mode (--
> | make). If I add a few prints I can see that in hscIncrementalCompile
> | right before hscIncrementalFrontend the hsc_HPT has the correct IdInfos
> | for the imported Ids, but somehow in the desugarer output the IdInfo is
> | lost. Can anyone point me to the right places in the typechecker or the
> | desugarer for me to look at?
> |
> | Thanks,
> |
> | Ömer
> | _______________________________________________
> | ghc-devs mailing list
> | ghc-devs at haskell.org
> | https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.has
> | kell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-
> | devs&data=02%7C01%7Csimonpj%40microsoft.com%7C82e14cca4ab94038a05208d
> | 750dd31e1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637066783278881153
> | &sdata=grXCcgzashiOYGOLafr%2F32Q%2BYr5X1tonSavQ5pVlx0M%3D&reserve
> | d=0


More information about the ghc-devs mailing list