ghc-7.0.3: The GHC API

Binary

# Documentation

data Bin a

Instances

Bounded (Bin a) |
Eq (Bin a) |
Ord (Bin a) |
Show (Bin a) |
Binary (Bin a) |

class Binary a where

Methods

put_ :: BinHandle -> a -> IO ()

put :: BinHandle -> a -> IO (Bin a)

get :: BinHandle -> IO a

Instances

Binary Bool |
Binary Char |
Binary Int |
Binary Int8 |
Binary Int16 |
Binary Int32 |
Binary Int64 |
Binary Integer |
Binary Word8 |
Binary Word16 |
Binary Word32 |
Binary Word64 |
Binary () |
Binary TypeRep |
Binary TyCon |
Binary PackageId |
Binary ModuleName |
Binary Module |
Binary OccName |
Binary FastString |
Binary InlineSpec |
Binary InlinePragma |
Binary RuleMatchInfo |
Binary Activation |
Binary DefMethSpec |
Binary HsBang |
Binary TupCon |
Binary OverlapFlag |
Binary RecFlag |
Binary Boxity |
Binary FixityDirection |
Binary Fixity |
Binary WarningTxt |
Binary FunctionOrData |
Binary Fingerprint |
Binary Name |
Binary NameSpace |
Binary CCallConv |
Binary CCallTarget |
Binary CCallSpec |
Binary CExportSpec |
Binary Safety |
Binary ForeignCall |
Binary Serialized |
Binary StrictSig |
Binary DmdResult |
Binary DmdType |
Binary Demands |
Binary Demand |
Binary Literal |
Binary IsCafCC |
Binary IsDupdCC |
Binary CostCentre |
Binary IfaceTyCon |
Binary IfacePredType |
Binary IfaceType |
Binary IfaceBndr |
Binary IfaceLetBndr |
Binary IfaceBinding |
Binary IfaceConAlt |
Binary IfaceNote |
Binary IfaceExpr |
Binary IfaceUnfolding |
Binary IfaceInfoItem |
Binary IfaceIdInfo |
Binary IfaceIdDetails |
Binary IfaceAnnotation |
Binary IfaceRule |
Binary IfaceFamInst |
Binary IfaceInst |
Binary IfaceConDecl |
Binary IfaceConDecls |
Binary IfaceClassOp |
Binary IfaceDecl |
Binary IfaceVectInfo |
Binary Usage |
Binary Dependencies |
Binary Warnings |
Binary ModIface |
Binary IfaceDeclExtras |
Binary a => Binary [a] |
(Integral a, Binary a) => Binary (Ratio a) |
Binary a => Binary (Maybe a) |
Binary name => Binary (IPName name) |
Binary (Bin a) |
Binary name => Binary (AnnTarget name) |
Binary (DFunArg IfaceExpr) |
Binary name => Binary (GenAvailInfo name) |
(Binary a, Binary b) => Binary (Either a b) |
(Binary a, Binary b) => Binary (a, b) |
(Binary a, Binary b, Binary c) => Binary (a, b, c) |
(Binary a, Binary b, Binary c, Binary d) => Binary (a, b, c, d) |

data BinHandle

openBinIO :: Handle -> IO BinHandle

openBinIO_ :: Handle -> IO BinHandle

openBinMem :: Int -> IO BinHandle

seekBin :: BinHandle -> Bin a -> IO ()

seekBy :: BinHandle -> Int -> IO ()

tellBin :: BinHandle -> IO (Bin a)

castBin :: Bin a -> Bin b

writeBinMem :: BinHandle -> FilePath -> IO ()

readBinMem :: FilePath -> IO BinHandle

fingerprintBinMem :: BinHandle -> IO Fingerprint

isEOFBin :: BinHandle -> IO Bool

putAt :: Binary a => BinHandle -> Bin a -> a -> IO ()

getAt :: Binary a => BinHandle -> Bin a -> IO a

putByte :: BinHandle -> Word8 -> IO ()

getByte :: BinHandle -> IO Word8

lazyGet :: Binary a => BinHandle -> IO a

lazyPut :: Binary a => BinHandle -> a -> IO ()

data ByteArray

Constructors

BA ByteArray# |

getByteArray :: BinHandle -> Int -> IO ByteArray

putByteArray :: BinHandle -> ByteArray# -> Int# -> IO ()

data UserData

Constructors

UserData |

Fields

ud_dict :: Dictionary
ud_symtab :: SymbolTable
ud_put_name :: BinHandle -> Name -> IO ()
ud_put_fs :: BinHandle -> FastString -> IO ()

getUserData :: BinHandle -> UserData

setUserData :: BinHandle -> UserData -> BinHandle

newReadState :: Dictionary -> IO UserData

newWriteState :: (BinHandle -> Name -> IO ()) -> (BinHandle -> FastString -> IO ()) -> IO UserData

putDictionary :: BinHandle -> Int -> UniqFM (Int, FastString) -> IO ()

getDictionary :: BinHandle -> IO Dictionary

putFS :: BinHandle -> FastString -> IO ()