Portability | GHC |
---|---|
Stability | experimental |
Maintainer | bos@serpentine.com, rtomharper@googlemail.com, duncan@haskell.org |
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!
Types
A space efficient, packed, unboxed Unicode text type.
Construction
textP :: Array -> Int -> Int -> TextSource
Construct a Text
without invisibly pinning its byte array in
memory if its length has dwindled to zero.
Safety
Map a Char
to a Text
-safe value.
UTF-16 surrogate code points are not included in the set of Unicode
scalar values, but are unfortunately admitted as valid Char
values by Haskell. They cannot be represented in a Text
. This
function remaps those code points to the Unicode replacement
character "�", and leaves other code points unchanged.
Code that must be here for accessibility
Utilities
firstf :: (a -> c) -> Maybe (a, b) -> Maybe (c, b)Source
Apply a function to the first element of an optional pair.