ghc-8.0.0.20160111: The GHC API

Safe HaskellNone
LanguageHaskell2010

Binary

Documentation

data Bin a

Instances

Bounded (Bin a) 
Eq (Bin a) 

Methods

(==) :: Bin a -> Bin a -> Bool

(/=) :: Bin a -> Bin a -> Bool

Ord (Bin a) 

Methods

compare :: Bin a -> Bin a -> Ordering

(<) :: Bin a -> Bin a -> Bool

(<=) :: Bin a -> Bin a -> Bool

(>) :: Bin a -> Bin a -> Bool

(>=) :: Bin a -> Bin a -> Bool

max :: Bin a -> Bin a -> Bin a

min :: Bin a -> Bin a -> Bin a

Show (Bin a) 

Methods

showsPrec :: Int -> Bin a -> ShowS Source

show :: Bin a -> String Source

showList :: [Bin a] -> ShowS Source

Binary (Bin a) 

Methods

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

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

get :: BinHandle -> IO (Bin a)

class Binary a where

Minimal complete definition

get

Methods

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

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

get :: BinHandle -> IO a

Instances

Binary Bool 

Methods

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

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

get :: BinHandle -> IO Bool

Binary Char 

Methods

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

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

get :: BinHandle -> IO Char

Binary Int 

Methods

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

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

get :: BinHandle -> IO Int

Binary Int8 

Methods

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

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

get :: BinHandle -> IO Int8

Binary Int16 

Methods

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

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

get :: BinHandle -> IO Int16

Binary Int32 

Methods

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

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

get :: BinHandle -> IO Int32

Binary Int64 

Methods

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

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

get :: BinHandle -> IO Int64

Binary Integer 
Binary Word8 

Methods

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

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

get :: BinHandle -> IO Word8

Binary Word16 

Methods

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

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

get :: BinHandle -> IO Word16

Binary Word32 

Methods

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

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

get :: BinHandle -> IO Word32

Binary Word64 

Methods

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

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

get :: BinHandle -> IO Word64

Binary TypeRep 
Binary () 

Methods

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

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

get :: BinHandle -> IO ()

Binary Fingerprint 
Binary TyCon 

Methods

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

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

get :: BinHandle -> IO TyCon

Binary ByteString 
Binary Serialized 
Binary UTCTime 
Binary Day 

Methods

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

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

get :: BinHandle -> IO Day

Binary DiffTime 
Binary OccName 
Binary FastString 
Binary UnitId 

Methods

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

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

get :: BinHandle -> IO UnitId

Binary ModuleName 
Binary Module 

Methods

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

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

get :: BinHandle -> IO Module

Binary Name 

Methods

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

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

get :: BinHandle -> IO Name

Binary SrcSpan 
Binary LeftOrRight 
Binary InlineSpec 
Binary InlinePragma 
Binary RuleMatchInfo 
Binary Activation 
Binary TupleSort 
Binary OverlapMode 
Binary OverlapFlag 
Binary RecFlag 
Binary FixityDirection 
Binary Fixity 

Methods

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

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

get :: BinHandle -> IO Fixity

Binary WarningTxt 
Binary StringLiteral 
Binary FunctionOrData 
Binary HscSource 
Binary CType 

Methods

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

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

get :: BinHandle -> IO CType

Binary Header 

Methods

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

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

get :: BinHandle -> IO Header

Binary CCallConv 
Binary CCallTarget 
Binary CCallSpec 
Binary CExportSpec 
Binary Safety 

Methods

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

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

get :: BinHandle -> IO Safety

Binary ForeignCall 
Binary NameSpace 
Binary IsPatSyn 
Binary AvailInfo 
Binary IsCafCC 
Binary CostCentre 
Binary Role 

Methods

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

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

get :: BinHandle -> IO Role

Binary Injectivity 
Binary VisibilityFlag 
Binary SrcUnpackedness 
Binary SrcStrictness 
Binary StrictSig 
Binary DmdType 
Binary CPRResult 
Binary DmdResult 
Binary Count 

Methods

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

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

get :: BinHandle -> IO Count

Binary UseDmd 

Methods

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

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

get :: BinHandle -> IO UseDmd

Binary StrDmd 

Methods

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

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

get :: BinHandle -> IO StrDmd

Binary Literal 
Binary IsOrphan 
Binary IfaceUnivCoProv 
Binary IfaceCoercion 
Binary IfaceTyConInfo 
Binary IfaceTyCon 
Binary IfaceTcArgs 
Binary IfaceForAllBndr 
Binary IfaceTyLit 
Binary IfaceType 
Binary IfaceOneShot 
Binary IfaceBndr 
Binary IfaceLetBndr 
Binary IfaceBinding 
Binary IfaceConAlt 
Binary IfaceTickish 
Binary IfaceExpr 
Binary IfaceIdDetails 
Binary IfaceUnfolding 
Binary IfaceInfoItem 
Binary IfaceIdInfo 
Binary IfaceAnnotation 
Binary IfaceRule 
Binary IfaceFamInst 
Binary IfaceClsInst 
Binary IfaceSrcBang 
Binary IfaceBang 
Binary IfaceConDecl 
Binary IfaceConDecls 
Binary IfaceAxBranch 
Binary IfaceAT 
Binary IfaceClassOp 
Binary IfaceFamTyConFlav 
Binary IfaceTyConParent 
Binary IfaceDecl 
Binary IfaceTrustInfo 
Binary IfaceVectInfo 
Binary Usage 

Methods

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

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

get :: BinHandle -> IO Usage

Binary Dependencies 
Binary Warnings 
Binary ModIface 
Binary a => Binary [a] 

Methods

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

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

get :: BinHandle -> IO [a]

Binary a => Binary (Maybe a) 

Methods

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

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

get :: BinHandle -> IO (Maybe a)

Binary a => Binary (Ratio a) 

Methods

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

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

get :: BinHandle -> IO (Ratio a)

Binary (DefMethSpec IfaceType) 
Binary (Bin a) 

Methods

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

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

get :: BinHandle -> IO (Bin a)

Binary a => Binary (BooleanFormula a) 
Binary name => Binary (AnnTarget name) 

Methods

put_ :: BinHandle -> AnnTarget name -> IO ()

put :: BinHandle -> AnnTarget name -> IO (Bin (AnnTarget name))

get :: BinHandle -> IO (AnnTarget name)

Binary a => Binary (FieldLbl a) 

Methods

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

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

get :: BinHandle -> IO (FieldLbl a)

(Binary a, Binary b) => Binary (Either a b) 

Methods

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

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

get :: BinHandle -> IO (Either a b)

(Binary a, Binary b) => Binary (a, b) 

Methods

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

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

get :: BinHandle -> IO (a, b)

Binary a => Binary (GenLocated SrcSpan a) 
(Binary a, Binary b, Binary c) => Binary (a, b, c) 

Methods

put_ :: BinHandle -> (a, b, c) -> IO ()

put :: BinHandle -> (a, b, c) -> IO (Bin (a, b, c))

get :: BinHandle -> IO (a, b, c)

(Binary a, Binary b, Binary c, Binary d) => Binary (a, b, c, d) 

Methods

put_ :: BinHandle -> (a, b, c, d) -> IO ()

put :: BinHandle -> (a, b, c, d) -> IO (Bin (a, b, c, d))

get :: BinHandle -> IO (a, b, c, d)

(Binary a, Binary b, Binary c, Binary d, Binary e) => Binary (a, b, c, d, e) 

Methods

put_ :: BinHandle -> (a, b, c, d, e) -> IO ()

put :: BinHandle -> (a, b, c, d, e) -> IO (Bin (a, b, c, d, e))

get :: BinHandle -> IO (a, b, c, d, e)

(Binary a, Binary b, Binary c, Binary d, Binary e, Binary f) => Binary (a, b, c, d, e, f) 

Methods

put_ :: BinHandle -> (a, b, c, d, e, f) -> IO ()

put :: BinHandle -> (a, b, c, d, e, f) -> IO (Bin (a, b, c, d, e, f))

get :: BinHandle -> IO (a, b, c, d, e, f)

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

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

castBin :: Bin a -> Bin b

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

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

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

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

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