haskell/bytestring

An efficient compact, immutable byte string type (both strict and lazy) suitable for binary or 8-bit character data.

301

stars

1,578

commits

Haskell

primary language

Sep 1, 2026

updated

hackage.haskell.org/package/bytestringBrowse cluster: Haskell standard library and build tooling

README

ByteString: Fast, Packed Strings of Bytes

Build Status Hackage Stackage LTS Stackage Nightly

This library provides the Data.ByteString module -- strict and lazy byte arrays manipulable as strings -- providing very time/space-efficient string and IO operations.

For very large data requirements, or constraints on heap size, Data.ByteString.Lazy is provided, a lazy list of bytestring chunks. Efficient processing of multi-gigabyte data can be achieved this way.

The library also provides Data.ByteString.Builder for efficient construction of ByteString values from smaller pieces during binary serialization.

Requirements:

  • Cabal 2.2 or greater
  • GHC 8.6 or greater

Authors

ByteString was derived from the GHC PackedString library, originally written by Bryan O'Sullivan, and then by Simon Marlow. It was adapted and greatly extended for darcs by David Roundy and others. Don Stewart and Duncan Coutts cleaned up and further extended the implementation and added the .Lazy code. Simon Meier contributed the Builder feature.

Contributors

(top 30 of 108)

donsbot

722 commits

dcoutts

242 commits

Bodigrim

149 commits

clyring

54 commits

haskell/bytestring

An efficient compact, immutable byte string type (both strict and lazy) suitable for binary or 8-bit character data.

301

stars

1,578

commits

Haskell

primary language

Sep 1, 2026

updated

hackage.haskell.org/package/bytestringBrowse cluster: Haskell standard library and build tooling

README

ByteString: Fast, Packed Strings of Bytes

Build Status Hackage Stackage LTS Stackage Nightly

This library provides the Data.ByteString module -- strict and lazy byte arrays manipulable as strings -- providing very time/space-efficient string and IO operations.

For very large data requirements, or constraints on heap size, Data.ByteString.Lazy is provided, a lazy list of bytestring chunks. Efficient processing of multi-gigabyte data can be achieved this way.

The library also provides Data.ByteString.Builder for efficient construction of ByteString values from smaller pieces during binary serialization.

Requirements:

  • Cabal 2.2 or greater
  • GHC 8.6 or greater

Authors

ByteString was derived from the GHC PackedString library, originally written by Bryan O'Sullivan, and then by Simon Marlow. It was adapted and greatly extended for darcs by David Roundy and others. Don Stewart and Duncan Coutts cleaned up and further extended the implementation and added the .Lazy code. Simon Meier contributed the Builder feature.

Contributors

(top 30 of 108)

donsbot

722 commits

dcoutts

242 commits

Bodigrim

149 commits

clyring

54 commits

Languages

Haskell

90.3%

C

9.6%