ghc-7.6.3: The GHC API

Safe Haskell | None

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 Fingerprint |
Binary TypeRep |
Binary TyCon |
Binary UTCTime |
Binary Day |
Binary DiffTime |
Binary PackageId |
Binary ModuleName |
Binary Module |
Binary FastString |
Binary Name |
Binary InlineSpec |
Binary InlinePragma |
Binary RuleMatchInfo |
Binary Activation |
Binary DefMethSpec |
Binary HsBang |
Binary TupleSort |
Binary OverlapFlag |
Binary RecFlag |
Binary FixityDirection |
Binary Fixity |
Binary WarningTxt |
Binary FunctionOrData |
Binary OccName |
Binary NameSpace |
Binary IsCafCC |
Binary CostCentre |
Binary CType |
Binary Header |
Binary CCallConv |
Binary CCallTarget |
Binary CCallSpec |
Binary CExportSpec |
Binary Safety |
Binary ForeignCall |
Binary Serialized |
Binary Literal |
Binary StrictSig |
Binary DmdResult |
Binary DmdType |
Binary Demands |
Binary Demand |
Binary AvailInfo |
Binary IfaceCoCon |
Binary IfaceTyCon |
Binary IfaceTyLit |
Binary IfaceType |
Binary IfaceBndr |
Binary IfaceLetBndr |
Binary IfaceBinding |
Binary IfaceConAlt |
Binary IfaceTickish |
Binary IfaceExpr |
Binary IfaceUnfolding |
Binary IfaceInfoItem |
Binary IfaceIdInfo |
Binary IfaceIdDetails |
Binary IfaceAnnotation |
Binary IfaceRule |
Binary IfaceFamInst |
Binary IfaceClsInst |
Binary IfaceConDecl |
Binary IfaceConDecls |
Binary IfaceATDefault |
Binary IfaceAT |
Binary IfaceClassOp |
Binary IfaceDecl |
Binary IfaceTrustInfo |
Binary IfaceVectInfo |
Binary Usage |
Binary Dependencies |
Binary Warnings |
Binary ModIface |
Binary a => Binary [a] |
(Integral a, Binary a) => Binary (Ratio a) |
Binary a => Binary (Maybe a) |
Binary (Bin a) |
Binary name => Binary (AnnTarget name) |
Binary (DFunArg IfaceExpr) |
(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) |
(Binary a, Binary b, Binary c, Binary d, Binary e) => Binary (a, b, c, d, e) |
(Binary a, Binary b, Binary c, Binary d, Binary e, Binary f) => Binary (a, b, c, d, e, f) |

data BinHandle

type SymbolTable = Array Int Name

type Dictionary = Array Int FastString

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

computeFingerprint :: Binary a => (BinHandle -> Name -> IO ()) -> a -> 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_get_name :: BinHandle -> IO Name ud_get_fs :: BinHandle -> IO FastString ud_put_name :: BinHandle -> Name -> IO () ud_put_fs :: BinHandle -> FastString -> IO ()

getUserData :: BinHandle -> UserData

setUserData :: BinHandle -> UserData -> BinHandle

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

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

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

getDictionary :: BinHandle -> IO Dictionary

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