| Copyright | (c) 2022 Andrew Lelechenko |
|---|---|
| License | BSD3 |
| Maintainer | Andrew Lelechenko <andrew.lelechenko@gmail.com> |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Data.Text.Builder.Linear
Description
Builder for strict Text, based on linear types. It's consistently
outperforms Data.Text.Lazy.Builder
from text as well as a strict builder from text-builder,
and scales better.
Synopsis
Documentation
Thin wrapper over Buffer with a handy Semigroup instance.
>>>:set -XOverloadedStrings -XMagicHash>>>fromText "foo" <> fromChar '_' <> fromAddr "bar"#"foo_bar"
Remember: this is a strict builder, so on contrary to Data.Text.Lazy.Builder for optimal performance you should use strict left folds instead of lazy right ones.
Note that (similar to other builders) concatenation of Builders allocates
thunks. This is to a certain extent mitigated by aggressive inlining,
but it is faster to use Buffer directly.
runBuilder ∷ ∀ m. Builder %m → Text Source #
fromDec ∷ (Integral a, FiniteBits a) ⇒ a → Builder Source #
Create Builder, containing decimal representation of a given number.
>>>fromChar 'x' <> fromDec (123 :: Int)"x123"