lens-4.1: Lenses, Folds and Traversals

Portabilitynon-portable
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellNone

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

Documentation

traversedStrict :: Int -> IndexedTraversal' Int ByteString Word8Source

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

traversedStrictTree :: Int -> IndexedTraversal' Int ByteString Word8Source

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

unpackStrict8 :: ByteString -> StringSource

Unpack a strict Bytestring, pretending the bytes are chars.

traversedStrict8 :: Int -> IndexedTraversal' Int ByteString CharSource

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

traversedStrictTree8 :: Int -> IndexedTraversal' Int ByteString CharSource

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

unpackLazy8 :: ByteString -> StringSource

Unpack a lazy ByteString pretending the bytes are chars.

traversedLazy8 :: IndexedTraversal' Int64 ByteString CharSource

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