Copyright | (c) 2009 2010 Bryan O'Sullivan |
---|---|
License | BSD-style |
Maintainer | bos@serpentine.com |
Stability | experimental |
Portability | GHC |
Safe Haskell | None |
Language | Haskell2010 |
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.
Synopsis
- 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
Instances
IsList Text Source # |
Since: 1.2.0.0 |
Eq Text Source # | |
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 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 # |
|
Ord Text Source # | |
Read Text Source # | |
Show Text Source # | |
IsString Text Source # | |
Defined in Data.Text.Lazy fromString :: String -> Text Source # |
|
Semigroup Text Source # |
Non-orphan
Since: 1.2.2.0 |
Monoid Text Source # | |
PrintfArg Text Source # |
Only defined for
Since: 1.2.2.0 |
Defined in Data.Text.Lazy formatArg :: Text -> FieldFormatter Source # parseFormat :: Text -> ModifierParser Source # |
|
Binary Text Source # |
Since: 1.2.1.0 |
NFData Text Source # | |
Defined in Data.Text.Lazy |
|
Lift Text Source # |
This instance has similar considerations to the
Since: 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.