module Graphics.Implicit.Export.TextBuilderUtils (
Text,
pack,
Builder,
toLazyText,
fromLazyText,
buildInt,
bf,
buildTruncFloat,
(<>),
mconcat,
mempty
) where
import Prelude (Maybe(Nothing, Just), ($))
import Graphics.Implicit.Definitions(Fastℕ)
import Data.Text.Lazy (Text, pack)
import Data.Monoid (Monoid, mappend, mconcat, mempty)
import Data.Text.Internal.Lazy (defaultChunkSize)
import Data.Text.Lazy.Builder (Builder, toLazyTextWith, fromLazyText)
import Data.Text.Lazy.Builder.RealFloat (formatRealFloat, FPFormat(Exponent, Fixed))
import Data.Text.Lazy.Builder.Int (decimal)
import Graphics.Implicit.Definitions (ℝ)
toLazyText :: Builder -> Text
toLazyText = toLazyTextWith defaultChunkSize
bf, buildTruncFloat :: ℝ -> Builder
bf = formatRealFloat Exponent Nothing
buildTruncFloat = formatRealFloat Fixed $ Just 4
buildInt :: Fastℕ -> Builder
buildInt = decimal
infixr 6 <>
(<>) :: Monoid m => m -> m -> m
(<>) = mappend