Data.Text.Internal.Lazy
Copyright | (c) 2009 2010 Bryan O'Sullivan |
---|---|
License | BSD-style |
Maintainer | [email protected] |
Stability | experimental |
Portability | GHC |
Safe Haskell | None |
Language | Haskell2010 |
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.
Instances
IsList Text | Since: text-1.2.0.0 |
Eq Text | |
Data Text |
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 Methodsgfoldl :: (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 | |
Ord Text | |
Read Text | |
Show Text | |
IsString Text | |
Defined in Data.Text.Lazy MethodsfromString :: String -> Text Source | |
Semigroup Text |
Non-orphan Since: text-1.2.2.0 |
Monoid Text | |
PrintfArg Text |
Only defined for Since: text-1.2.2.0 |
Defined in Data.Text.Lazy | |
Binary Text | Since: text-1.2.1.0 |
NFData Text | |
Defined in Data.Text.Lazy | |
type Item Text | |
Defined in Data.Text.Lazy |
chunk :: Text -> Text -> Text Source
Smart constructor for Chunk
. Guarantees the data type invariant.
Smart constructor for Empty
.
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.
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.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/text-1.2.3.2/Data-Text-Internal-Lazy.html