Data.Text.Internal.Lazy
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.
Documentation
Instances
Data Text Source # | This instance preserves data abstraction at the cost of inefficiency. We omit reflection services for the sake of data abstraction. This instance was created by copying the updated behavior of
|
Defined in Data.Text.Lazy Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Text -> c Text Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Text Source # toConstr :: Text -> Constr Source # dataTypeOf :: Text -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Text) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Text) Source # gmapT :: (forall b. Data b => b -> b) -> Text -> Text Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Text -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Text -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Text -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Text -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Text -> m Text Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Text -> m Text Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Text -> m Text Source # | |
IsString Text Source # | Performs replacement on invalid scalar values:
|
Defined in Data.Text.Lazy Methods fromString :: String -> Text Source # | |
Monoid Text Source # | |
Semigroup Text Source # | Since: text-1.2.2.0 |
IsList Text Source # | Performs replacement on invalid scalar values:
Since: text-1.2.0.0 |
Read Text Source # | |
Show Text Source # | |
PrintfArg Text Source # | Since: text-1.2.2.0 |
Defined in Data.Text.Lazy | |
Binary Text Source # | Since: text-1.2.1.0 |
NFData Text Source # | |
Defined in Data.Text.Lazy | |
Eq Text Source # | |
Ord Text Source # | |
Lift Text Source # | Since: text-1.2.4.0 |
type Item Text Source # | |
Defined in Data.Text.Lazy |
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 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.
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.