Bitstring objects represent strings of bits of arbitrary length. This means they can store any number of unaligned bits, rather like bitfields in C. Bitfields can also share memory with other bitfields, which means you can easily create sub-bitstrings from other bitstrings.

[procedure](bitstring=? bitstring1 bitstring2)

Compare bitstrings.

[procedure](bitstring->list bitstring [bits [byte-order]])

Convert bitstring to list of bits.

Optional group bits, default value 1, indicates how many bits each entry in the list should span. For example, to see the contents grouped by octet, use 8 here.

Optional byte-order'little - little-endian, 'big - big-endian, 'host host system byte-order, default value 'big. This has an effect only if bit is larger than 8.

[procedure](bitstring? obj)

Returns #t or #f depending on whether obj is a bitstring or another type of object.