flat-0.4.4.0.0.0.0.2: Principled and efficient bit-oriented binary serialization.
Safe Haskell None
Language Haskell2010

Flat.Bits

Description

Utilities to represent and display bit sequences

Synopsis

Documentation

type Bits = Vector Bool Source #

A sequence of bits

bits :: forall a. Flat a => a -> Bits Source #

The sequence of bits corresponding to the serialization of the passed value (without any final byte padding)

>>> bits True
[True]

paddedBits :: forall a. Flat a => a -> Bits Source #

The sequence of bits corresponding to the byte-padded serialization of the passed value

>>> paddedBits True
[True,False,False,False,False,False,False,True]

asBytes :: Bits -> [ Word8 ] Source #

Convert a sequence of bits to the corresponding list of bytes

>>> asBytes $ asBits (256+3::Word16)
[1,3]

asBits :: FiniteBits a => a -> Bits Source #

Convert an integral value to its equivalent bit representation

>>> asBits (5::Word8)
[False,False,False,False,False,True,False,True]

Orphan instances