Make the External Package Table contain ModDetails not ModIface
Currently the External Package Table
contains ModIfaces
. But that makes it hard to answer the question "which instances were introduced by module Foo" in the GHC API. See Kenny Lu's problem http://www.haskell.org/pipermail/glasgow-haskell-users/2007-August/013027.html
Furthermore the ModIfaces
in the EPS are cut-down ones, with decls etc trimmed off becuase they are in the type envts.
Since loadInterface
does typechecking etc, it'd make sense for it to return a ModDetails
instead and for that ModDetails
to be stored in the EPS. This would also tidy up the oddity that a ModIface
contains redundant fields for fixity envt and deprecaction envt (they would move to ModDetails
).
Then it'd also make sense for the GHC API to use ModDetails
instead of ModInfo
.
This change isn't truly hard, but it needs care.
Trac metadata
Trac field | Value |
---|---|
Version | 6.6.1 |
Type | Task |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | Unknown |
Architecture | Unknown |