| Safe Haskell | Ignore |
|---|---|
| Language | GHC2021 |
GHC.Unit.Module.WholeCoreBindings
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 #
Constructors
| WholeCoreBindings | |
Fields
| |
newtype IfaceCLabel #
Constructors
| IfaceCLabel CStubLabel |
Instances
| NFData IfaceCLabel # | |
Defined in GHC.Unit.Module.WholeCoreBindings Methods rnf :: IfaceCLabel -> () # | |
| Binary IfaceCLabel # | |
Defined in GHC.Unit.Module.WholeCoreBindings Methods put_ :: WriteBinHandle -> IfaceCLabel -> IO () # put :: WriteBinHandle -> IfaceCLabel -> IO (Bin IfaceCLabel) # get :: ReadBinHandle -> IO IfaceCLabel # | |
| Outputable IfaceCLabel # | |
Defined in GHC.Unit.Module.WholeCoreBindings Methods ppr :: IfaceCLabel -> SDoc # | |
data IfaceCStubs #
Simplified encoding of ForeignStubs for interface
serialization.
See Note [Foreign stubs and TH bytecode linking]
Constructors
| IfaceCStubs | |
Fields
| |
Instances
| NFData IfaceCStubs # | |
Defined in GHC.Unit.Module.WholeCoreBindings Methods rnf :: IfaceCStubs -> () # | |
| Binary IfaceCStubs # | |
Defined in GHC.Unit.Module.WholeCoreBindings Methods put_ :: WriteBinHandle -> IfaceCStubs -> IO () # put :: WriteBinHandle -> IfaceCStubs -> IO (Bin IfaceCStubs) # get :: ReadBinHandle -> IO IfaceCStubs # | |
| Outputable IfaceCStubs # | |
Defined in GHC.Unit.Module.WholeCoreBindings Methods ppr :: IfaceCStubs -> SDoc # | |
binary_put_ForeignSrcLang :: WriteBinHandle -> ForeignSrcLang -> IO () #
Binary put_ for ForeignSrcLang.
data IfaceForeignFile #
A source file added from Template Haskell using qAddForeignFilePath, for
storage in interfaces.
See Note [Foreign stubs and TH bytecode linking]
Constructors
| IfaceForeignFile | |
Fields
| |
Instances
| NFData IfaceForeignFile # | |
Defined in GHC.Unit.Module.WholeCoreBindings Methods rnf :: IfaceForeignFile -> () # | |
| Binary IfaceForeignFile # | |
Defined in GHC.Unit.Module.WholeCoreBindings Methods put_ :: WriteBinHandle -> IfaceForeignFile -> IO () # put :: WriteBinHandle -> IfaceForeignFile -> IO (Bin IfaceForeignFile) # get :: ReadBinHandle -> IO IfaceForeignFile # | |
| Outputable IfaceForeignFile # | |
Defined in GHC.Unit.Module.WholeCoreBindings Methods ppr :: IfaceForeignFile -> SDoc # | |
data IfaceForeign #
Constructors
| IfaceForeign | |
Fields
| |
Instances
| NFData IfaceForeign # | |
Defined in GHC.Unit.Module.WholeCoreBindings Methods rnf :: IfaceForeign -> () # | |
| Binary IfaceForeign # | |
Defined in GHC.Unit.Module.WholeCoreBindings Methods put_ :: WriteBinHandle -> IfaceForeign -> IO () # put :: WriteBinHandle -> IfaceForeign -> IO (Bin IfaceForeign) # get :: ReadBinHandle -> IO IfaceForeign # | |
| Outputable IfaceForeign # | |
Defined in GHC.Unit.Module.WholeCoreBindings Methods ppr :: IfaceForeign -> SDoc # | |
encodeIfaceForeign :: Logger -> DynFlags -> ForeignStubs -> [(ForeignSrcLang, FilePath)] -> IO IfaceForeign #
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)]) #
Decode serialized foreign stubs and foreign files.
See Note [Foreign stubs and TH bytecode linking]