Safe Haskell | None |
---|---|
Language | Haskell2010 |
Module for constructing ModIface
values (interface files),
writing them to disk and comparing two versions to see if
recompilation is required.
Synopsis
- mkPartialIface :: HscEnv -> ModDetails -> ModGuts -> PartialModIface
- mkFullIface :: HscEnv -> PartialModIface -> Maybe CgInfos -> IO ModIface
- mkIfaceTc :: HscEnv -> SafeHaskellMode -> ModDetails -> TcGblEnv -> IO ModIface
- mkIfaceExports :: [AvailInfo] -> [IfaceExport]
- coAxiomToIfaceDecl :: CoAxiom br -> IfaceDecl
- tyThingToIfaceDecl :: DynFlags -> TyThing -> IfaceDecl
Documentation
mkPartialIface :: HscEnv -> ModDetails -> ModGuts -> PartialModIface Source #
mkFullIface :: HscEnv -> PartialModIface -> Maybe CgInfos -> IO ModIface Source #
Fully instantiate an interface. Adds fingerprints and potentially code generator produced information.
CgInfos 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 -> 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 (HscNothing
).
mkIfaceExports :: [AvailInfo] -> [IfaceExport] Source #
coAxiomToIfaceDecl :: CoAxiom br -> IfaceDecl Source #