| Copyright | (c) 2009, 2010 Bryan O'Sullivan |
|---|---|
| License | BSD-style |
| Maintainer | bos@serpentine.com |
| Stability | experimental |
| Portability | GHC |
| Safe Haskell | None |
| Language | Haskell98 |
Data.Text.Internal.Lazy
Description
Warning: this is an internal module, and does not have a stable API or name. Functions in this module may not check or enforce preconditions expected by public modules. Use at your own risk!
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.
- data Text
- chunk :: Text -> Text -> Text
- empty :: Text
- foldrChunks :: (Text -> a -> a) -> a -> Text -> a
- foldlChunks :: (a -> Text -> a) -> a -> Text -> a
- strictInvariant :: Text -> Bool
- lazyInvariant :: Text -> Text
- showStructure :: Text -> String
- defaultChunkSize :: Int
- smallChunkSize :: Int
- chunkOverhead :: Int
Documentation
chunk :: Text -> Text -> Text Source
Smart constructor for Chunk. Guarantees the data type invariant.
foldrChunks :: (Text -> a -> a) -> a -> Text -> a Source
Consume the chunks of a lazy Text with a natural right fold.
foldlChunks :: (a -> Text -> a) -> a -> Text -> a Source
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 Texts. 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.
Currently set to 128 bytes, less the memory management overhead.
The memory management overhead. Currently this is tuned for GHC only.