binary-file-0.14.1: src/File/Binary/Classes.hs
{-# LANGUAGE TypeFamilies #-}
module File.Binary.Classes (Field(..), Binary(..)) where
import Data.Monoid (Monoid)
import Data.ByteString.Lazy (ByteString)
class Field r where
type FieldArgument r
fromBinary :: Binary s => FieldArgument r -> s -> (r, s)
toBinary :: Binary s => FieldArgument r -> r -> s
class (Eq b, Monoid b) => Binary b where
getBytes :: Int -> b -> (ByteString, b)
makeBinary :: ByteString -> b