lens-4.18.1: Lenses, Folds and Traversals

Copyright(C) 2012-16 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellNone





class IsText t where Source #

Traversals for strict or lazy Text

Minimal complete definition

packed, builder


packed :: Iso' String t Source #

This isomorphism can be used to pack (or unpack) strict or lazy Text.

pack x ≡ x ^. packed
unpack x ≡ x ^. from packed
packedfrom unpacked

builder :: Iso' t Builder Source #

Convert between strict or lazy Text and a Builder.

fromText x ≡ x ^. builder

text :: IndexedTraversal' Int t Char Source #

Traverse the individual characters in strict or lazy Text.

text = unpacked . traversed

unpacked :: IsText t => Iso' t String Source #

This isomorphism can be used to unpack (or pack) both strict or lazy Text.

unpack x ≡ x ^. unpacked
pack x ≡ x ^. from unpacked

This Iso is provided for notational convenience rather than out of great need, since

unpackedfrom packed

_Text :: IsText t => Iso' t String Source #

This is an alias for unpacked that makes it clearer how to use it with (#).

_Text = from packed
>>> _Text # "hello" :: Strict.Text

pattern Text :: forall s. IsText s => [Char] -> s Source #