-- $lenses
Codec
, decode
- -- * Viewing the Text in a ByteString
+ -- * \'Viewing\' the Text in a byte stream
-- $codecs
, utf8
, utf8Pure
import Data.Word (Word8)
import Pipes
-
type Lens' a b = forall f . Functor f => (b -> f b) -> (a -> f a)
{- $lenses
> zoom utf8 drawChar :: Monad m => StateT (Producer ByteString m r) m (Maybe Char)
- or, with the type synonymn of @Pipes.Parse@:
+ or, using the type synonymn from @Pipes.Parse@:
> zoom utf8 drawChar :: Monad m => Parser ByteString m (Maybe Char)
- Thus we can define ByteString like this:
+ Thus we can define a ByteString parser like this:
> withNextByte :: Parser ByteString m (Maybe Char, Maybe Word8)))
> withNextByte = do char_ <- zoom utf8 Text.drawChar