flat-0.6: src/Flat/Instances/DList.hs
module Flat.Instances.DList
()
where
import Data.DList (DList, fromList, toList)
import Flat.Class (Flat (..))
import Flat.Instances.Mono (decodeList, encodeList, sizeList)
-- $setup
-- >>> import Flat.Instances.Test
-- >>> import Flat.Instances.Base()
-- >>> import Flat.Run
-- >>> import Data.DList
-- >>> let test = tstBits
{-|
>>> test (Data.DList.fromList [7::Word,7])
(True,19,"10000011 11000001 110")
>>> let l = [7::Word,7] in flat (Data.DList.fromList l) == flat l
True
-}
instance Flat a => Flat (DList a) where
size = sizeList . toList
encode = encodeList . toList
decode = fromList <$> decodeList