lens-4.3: Lenses, Folds and Traversals

MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellTrustworthy






class IsText t whereSource

Traversals for strict or lazy Text


packed :: Iso' String tSource

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 BuilderSource

Convert between strict or lazy Text and a Builder.

 fromText x ≡ x ^. builder

text :: IndexedTraversal' Int t CharSource

Traverse the individual characters in strict or lazy Text.

 text = unpacked . traversed

unpacked :: IsText t => Iso' t StringSource

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 StringSource

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

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