Bug#947924: ITP: haskell-bytestring -- Fast, compact, strict and lazy byte strings with a list interface
Mike Gabriel
mike.gabriel at das-netzwerkteam.de
Thu Jan 2 07:45:13 GMT 2020
Package: wnpp
Severity: wishlist
Owner: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
* Package name : haskell-bytestring
Version : 0.10.10.0
Upstream Author : Duncan Coutts <duncan at community.haskell.org>
* URL : https://hackage.haskell.org/package/bytestring
* License : BSD-3
Programming Lang: Haskell
Description : Fast, compact, strict and lazy byte strings with a list interface
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 'ByteString's keep the string as a single large array. This
makes them convenient for passing data between C and Haskell.
.
* Lazy 'ByteString's 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 'ByteString's
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 be converted to or from a 'ByteString', but supports very few
other operations. It is suitable for keeping many short strings in memory.
.
'ByteString's 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
.
This package will be maintained by the Curry Maintainers under the umbrella
of the Debian Haskell Group.
More information about the Pkg-haskell-maintainers
mailing list