lens-3.10: Lenses, Folds and Traversals

Portability | non-portable
Stability | experimental
Maintainer | Edward Kmett <ekmett@gmail.com>
Safe Haskell | None

Control.Lens.Internal.ByteString

Description

This module spends a lot of time fiddling around with `ByteString` internals to work around http://hackage.haskell.org/trac/ghc/ticket/7556 on older Haskell Platforms and to improve constant and asymptotic factors in our performance.

Synopsis

- unpackStrict :: ByteString -> [Word8]
- traversedStrict :: Int -> IndexedTraversal' Int ByteString Word8
- traversedStrictTree :: Int -> IndexedTraversal' Int ByteString Word8
- unpackStrict8 :: ByteString -> String
- traversedStrict8 :: Int -> IndexedTraversal' Int ByteString Char
- traversedStrictTree8 :: Int -> IndexedTraversal' Int ByteString Char
- unpackLazy :: ByteString -> [Word8]
- traversedLazy :: IndexedTraversal' Int64 ByteString Word8
- unpackLazy8 :: ByteString -> String
- traversedLazy8 :: IndexedTraversal' Int64 ByteString Char

# Documentation

unpackStrict :: ByteString -> [Word8]Source

Unpack a strict `Bytestring`

traversedStrict :: Int -> IndexedTraversal' Int ByteString Word8 Source

Traverse a strict `ByteString` from left to right in a biased fashion.

traversedStrictTree :: Int -> IndexedTraversal' Int ByteString Word8 Source

Traverse a strict `ByteString` in a relatively balanced fashion, as a balanced tree with biased runs of elements at the leaves.

unpackStrict8 :: ByteString -> String Source

Unpack a strict `Bytestring`, pretending the bytes are chars.

traversedStrict8 :: Int -> IndexedTraversal' Int ByteString Char Source

Traverse a strict `ByteString` from left to right in a biased fashion pretending the bytes are characters.

traversedStrictTree8 :: Int -> IndexedTraversal' Int ByteString Char Source

Traverse a strict `ByteString` in a relatively balanced fashion, as a balanced tree with biased runs of elements at the leaves, pretending the bytes are chars.

unpackLazy :: ByteString -> [Word8]Source

Unpack a lazy `Bytestring`

traversedLazy :: IndexedTraversal' Int64 ByteString Word8 Source

An `IndexedTraversal` of the individual bytes in a lazy `ByteString`

unpackLazy8 :: ByteString -> String Source

Unpack a lazy `ByteString` pretending the bytes are chars.

traversedLazy8 :: IndexedTraversal' Int64 ByteString Char Source

An `IndexedTraversal` of the individual bytes in a lazy `ByteString` pretending the bytes are chars.