ghc-9.6.3: The GHC API
Safe HaskellSafe-Inferred



Module for constructing ModIface values (interface files), writing them to disk and comparing two versions to see if recompilation is required.



mkFullIface :: HscEnv -> PartialModIface -> Maybe StgCgInfos -> Maybe CmmCgInfos -> IO ModIface Source #

Fully instantiate an interface. Adds fingerprints and potentially code generator produced information.

CmmCgInfos is not available when not generating code (-fno-code), or when not generating interface pragmas (-fomit-interface-pragmas). See also Note [Conveying CAF-info and LFInfo between modules] in GHC.StgToCmm.Types.

mkIfaceTc :: HscEnv -> SafeHaskellMode -> ModDetails -> ModSummary -> Maybe CoreProgram -> TcGblEnv -> IO ModIface Source #

Make an interface from the results of typechecking only. Useful for non-optimising compilation, or where we aren't generating any object code at all (NoBackend).