The bytestring package
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
- 'ghc-options: -O2' is rarely needed. Check that it is giving a real benefit and not just imposing longer compile times on your users.
An efficient compact, immutable byte string type (both strict and lazy) suitable for binary or 8-bit character data.
The ByteString type represents sequences of bytes or 8-bit characters. It is suitable for high performance use, both in terms of large data quantities, or high speed requirements. The ByteString functions follow the same style as Haskell's ordinary lists, so it is easy to convert code from using String to ByteString.
Two ByteString variants are provided:
Strict ByteStrings keep the string as a single large array. This makes them convenient for passing data between C and Haskell.
Lazy ByteStrings use a lazy list of strict chunks which makes it suitable for I/O streaming tasks.
The Char8 modules provide a character-based view of the same underlying ByteString types. This makes it convenient to handle mixed binary and 8-bit character content (which is common in many file formats and network protocols).
The Builder module provides an efficient way to build up ByteStrings in an ad-hoc way by repeated concatenation. This is ideal for fast serialisation or pretty printing.
There is also a ShortByteString type which has a lower memory overhead and can can be converted to or from a ByteString, but supports very few other operations. It is suitable for keeping many short strings in memory.
ByteStrings are not designed for Unicode. For Unicode strings you should use the Text type from the text package.
These modules are intended to be imported qualified, to avoid name clashes with Prelude functions, e.g.
import qualified Data.ByteString as BS
[Skip to ReadMe]
|Versions||0.9, 0.9.0.1, 0.9.0.2, 0.9.0.3, 0.9.0.4, 0.9.1.0, 0.9.1.1, 0.9.1.2, 0.9.1.3, 0.9.1.4, 0.9.1.5, 0.9.1.6, 0.9.1.7, 0.9.1.8, 0.9.1.9, 0.9.1.10, 0.9.2.0, 0.9.2.1, 0.10.0.0, 0.10.0.1, 0.10.0.2, 0.10.2.0, 0.10.4.0, 0.10.4.1, 0.10.6.0, 0.10.6.0, 0.10.8.0, 0.10.8.1|
|Dependencies||base (>=4.2 && <5), deepseq, ghc-prim, integer (==0.1.*), integer-gmp (>=0.2) [details]|
|Copyright||Copyright (c) Don Stewart 2005-2009, (c) Duncan Coutts 2006-2015, (c) David Roundy 2003-2005, (c) Jasper Van der Jeugt 2010, (c) Simon Meier 2010-2013.|
|Author||Don Stewart, Duncan Coutts|
|Maintainer||Duncan Coutts <email@example.com>|
|Source repository||head: git clone https://github.com/haskell/bytestring|
|Uploaded||Fri Mar 20 18:57:17 UTC 2015 by DuncanCoutts|
|integer-simple||Use the simple integer library instead of GMP||Disabled||Automatic|
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
- bytestring-0.10.6.0.tar.gz [browse] (Cabal source package)
- Package description (included in the package)
For package maintainers and hackage trustees