-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Binary serialization with deferred loading -- -- Binary serialization, but with delays. @package binarydefer @version 1.2.1 module Data.Binary.Defer.Internal hGetInt :: Handle -> IO Int hPutInt :: Handle -> Int -> IO () hGetPos :: Handle -> IO Int hSetPos :: Handle -> Int -> IO () -- | Binary serialisation of deferred values module Data.Binary.Defer class BinaryDefer a bothDefer :: BinaryDefer a => (Handle -> a -> IO [(Int, IO ())], Handle -> IO a) putDefer :: BinaryDefer a => Handle -> a -> IO [(Int, IO ())] get :: BinaryDefer a => Handle -> IO a put :: BinaryDefer a => Handle -> a -> IO () class BinaryDefer a => BinaryDeferStatic a getSize :: BinaryDeferStatic a => a -> Int defer :: [a -> Pending a PendingSome] -> Both a newtype Defer x Defer :: x -> Defer x fromDefer :: Defer x -> x unit :: a -> Pending a PendingNone (<<) :: BinaryDefer a => Pending (a -> b) p -> a -> Pending b PendingSome (<<~) :: BinaryDefer a => Pending (a -> b) p -> a -> Pending b PendingSome (< a -> Pending a PendingSome instance BinaryDefer a => BinaryDeferStatic (Defer a) instance Show a => Show (Defer a) instance BinaryDefer a => BinaryDefer (Defer a) instance BinaryDeferStatic Bool instance BinaryDeferStatic Char instance BinaryDeferStatic Int instance BinaryDefer Bool instance BinaryDefer Char instance BinaryDefer a => BinaryDefer [a] instance BinaryDefer Int module Data.Binary.Defer.List data ListDefer a newListDefer :: BinaryDeferStatic a => [a] -> ListDefer a -- | Start, Length readListDefer :: BinaryDeferStatic a => ListDefer a -> Int -> Int -> [a] instance BinaryDeferStatic a => BinaryDefer (ListDefer a) instance (BinaryDeferStatic a, Show a) => Show (ListDefer a)