The

ByteArray interface (GHC extensions) data ByteArray ix -- abstract -- instance of: Eq, CCallable. newByteArray :: Ix ix => (ix,ix) -> ST s (ByteArray ix) indexCharArray :: Ix ix => ByteArray ix -> ix -> Char indexIntArray :: Ix ix => ByteArray ix -> ix -> Int indexAddrArray :: Ix ix => ByteArray ix -> ix -> Addr indexFloatArray :: Ix ix => ByteArray ix -> ix -> Float indexDoubleArray :: Ix ix => ByteArray ix -> ix -> Double sizeofByteArray :: Ix ix => ByteArray ix -> Int The operation Equality on byte arrays is value equality, not pointer equality (as is the case for its mutable variant.) Two byte arrays are equal if they're of the same length and they're pairwise equal.