Safe Haskell | None |
---|---|
Language | GHC2021 |
Synopsis
- data WholeCoreBindings = WholeCoreBindings {}
- newtype IfaceCLabel = IfaceCLabel CStubLabel
- data IfaceCStubs = IfaceCStubs {
- header :: String
- source :: String
- initializers :: [IfaceCLabel]
- finalizers :: [IfaceCLabel]
- binary_put_ForeignSrcLang :: WriteBinHandle -> ForeignSrcLang -> IO ()
- binary_get_ForeignSrcLang :: ReadBinHandle -> IO ForeignSrcLang
- data IfaceForeignFile = IfaceForeignFile {}
- data IfaceForeign = IfaceForeign {
- stubs :: Maybe IfaceCStubs
- files :: [IfaceForeignFile]
- emptyIfaceForeign :: IfaceForeign
- encodeIfaceForeign :: Logger -> DynFlags -> ForeignStubs -> [(ForeignSrcLang, FilePath)] -> IO IfaceForeign
- decodeIfaceForeign :: Logger -> TmpFs -> TempDir -> IfaceForeign -> IO (ForeignStubs, [(ForeignSrcLang, FilePath)])
Documentation
data WholeCoreBindings Source #
WholeCoreBindings | |
|
newtype IfaceCLabel Source #
Instances
NFData IfaceCLabel Source # | |
Defined in GHC.Unit.Module.WholeCoreBindings rnf :: IfaceCLabel -> () Source # | |
Binary IfaceCLabel Source # | |
Defined in GHC.Unit.Module.WholeCoreBindings put_ :: WriteBinHandle -> IfaceCLabel -> IO () Source # put :: WriteBinHandle -> IfaceCLabel -> IO (Bin IfaceCLabel) Source # get :: ReadBinHandle -> IO IfaceCLabel Source # | |
Outputable IfaceCLabel Source # | |
Defined in GHC.Unit.Module.WholeCoreBindings ppr :: IfaceCLabel -> SDoc Source # |
data IfaceCStubs Source #
Simplified encoding of ForeignStubs
for interface
serialization.
See Note [Foreign stubs and TH bytecode linking]
IfaceCStubs | |
|
Instances
NFData IfaceCStubs Source # | |
Defined in GHC.Unit.Module.WholeCoreBindings rnf :: IfaceCStubs -> () Source # | |
Binary IfaceCStubs Source # | |
Defined in GHC.Unit.Module.WholeCoreBindings put_ :: WriteBinHandle -> IfaceCStubs -> IO () Source # put :: WriteBinHandle -> IfaceCStubs -> IO (Bin IfaceCStubs) Source # get :: ReadBinHandle -> IO IfaceCStubs Source # | |
Outputable IfaceCStubs Source # | |
Defined in GHC.Unit.Module.WholeCoreBindings ppr :: IfaceCStubs -> SDoc Source # |
binary_put_ForeignSrcLang :: WriteBinHandle -> ForeignSrcLang -> IO () Source #
Binary
put_
for ForeignSrcLang
.
binary_get_ForeignSrcLang :: ReadBinHandle -> IO ForeignSrcLang Source #
Binary
get
for ForeignSrcLang
.
data IfaceForeignFile Source #
A source file added from Template Haskell using qAddForeignFilePath
, for
storage in interfaces.
See Note [Foreign stubs and TH bytecode linking]
IfaceForeignFile | |
|
Instances
NFData IfaceForeignFile Source # | |
Defined in GHC.Unit.Module.WholeCoreBindings rnf :: IfaceForeignFile -> () Source # | |
Binary IfaceForeignFile Source # | |
Defined in GHC.Unit.Module.WholeCoreBindings put_ :: WriteBinHandle -> IfaceForeignFile -> IO () Source # put :: WriteBinHandle -> IfaceForeignFile -> IO (Bin IfaceForeignFile) Source # get :: ReadBinHandle -> IO IfaceForeignFile Source # | |
Outputable IfaceForeignFile Source # | |
Defined in GHC.Unit.Module.WholeCoreBindings ppr :: IfaceForeignFile -> SDoc Source # |
data IfaceForeign Source #
Instances
NFData IfaceForeign Source # | |
Defined in GHC.Unit.Module.WholeCoreBindings rnf :: IfaceForeign -> () Source # | |
Binary IfaceForeign Source # | |
Defined in GHC.Unit.Module.WholeCoreBindings put_ :: WriteBinHandle -> IfaceForeign -> IO () Source # put :: WriteBinHandle -> IfaceForeign -> IO (Bin IfaceForeign) Source # get :: ReadBinHandle -> IO IfaceForeign Source # | |
Outputable IfaceForeign Source # | |
Defined in GHC.Unit.Module.WholeCoreBindings ppr :: IfaceForeign -> SDoc Source # |
encodeIfaceForeign :: Logger -> DynFlags -> ForeignStubs -> [(ForeignSrcLang, FilePath)] -> IO IfaceForeign Source #
Convert foreign stubs and foreign files to a format suitable for writing to interfaces.
See Note [Foreign stubs and TH bytecode linking]
decodeIfaceForeign :: Logger -> TmpFs -> TempDir -> IfaceForeign -> IO (ForeignStubs, [(ForeignSrcLang, FilePath)]) Source #
Decode serialized foreign stubs and foreign files.
See Note [Foreign stubs and TH bytecode linking]