text-0.11.2.3: An efficient packed Unicode text type.

PortabilityGHC
Stabilityexperimental
Maintainerbos@serpentine.com, rtomharper@googlemail.com, duncan@haskell.org
Safe HaskellSafe-Infered

Data.Text.Lazy.Internal

Description

A module containing private Text internals. This exposes the Text representation and low level construction functions. Modules which extend the Text system may need to use this module.

You should not use this module unless you are determined to monkey with the internals, as the functions here do just about nothing to preserve data invariants. You have been warned!

Synopsis

Documentation

data Text Source

Constructors

Instances

chunk :: Text -> Text -> Text Source

Smart constructor for Chunk . Guarantees the data type invariant.

empty :: Text Source

Smart constructor for Empty .

foldrChunks :: (Text -> a -> a) -> a -> Text -> aSource

Consume the chunks of a lazy Text with a natural right fold.

foldlChunks :: (a -> Text -> a) -> a -> Text -> aSource

Consume the chunks of a lazy Text with a strict, tail-recursive, accumulating left fold.

Data type invariant and abstraction functions

The data type invariant for lazy Text : Every Text is either Empty or consists of non-null Text s. All functions must preserve this, and the QC properties must check this.

strictInvariant :: Text -> Bool Source

Check the invariant strictly.

lazyInvariant :: Text -> Text Source

Check the invariant lazily.

showStructure :: Text -> String Source

Display the internal structure of a lazy Text .

Chunk allocation sizes

defaultChunkSize :: Int Source

Currently set to 16 KiB, less the memory management overhead.

smallChunkSize :: Int Source

Currently set to 128 bytes, less the memory management overhead.

chunkOverhead :: Int Source

The memory management overhead. Currently this is tuned for GHC only.

AltStyle によって変換されたページ (->オリジナル) /