Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/prelude/Binary/oldCBinary.hs

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


module NHC.Binary
  ( {-class-} Binary(..)
  ) where

import BinHandle ({-type-}BinHandle)
import SeekBin   (seekBin)
import BinPtr    ({-type-}BinPtr)

class Binary a where
    put  :: BinHandle -> a -> IO (BinPtr a)
    get  :: BinHandle -> IO a
    getF :: BinHandle -> BinPtr a -> (a, BinPtr b)

    putAt       :: BinHandle -> BinPtr a -> a -> IO ()
    getAt       :: BinHandle -> BinPtr a -> IO a
    getFAt      :: BinHandle -> BinPtr a -> a

    putAt  bh p x = seekBin bh p >> put bh x >> return ()
    getAt  bh p   = seekBin bh p >> get bh
    getFAt bh p   = fst (getF bh p)

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.