-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Normalization insensitive string comparison -- -- The module Data.Unicode.NormalizationInsensitive provides the -- NI type constructor which can be parameterized by a string-like -- type like: String, ByteString, Text, etc.. -- Comparisons of values of the resulting type will be insensitive to -- normalization. -- -- This is very similar in spirit to the case-insensitive -- package, and is in fact based on the same code. @package normalization-insensitive @version 2.0.2 -- | This module is intended to be imported qualified. May I suggest: -- --
-- import Data.Unicode.NormalizationInsensitive ( NI ) -- import qualified Data.Unicode.NormalizationInsensitive as NI --module Data.Unicode.NormalizationInsensitive -- | A NI s provides Normalization Insensitive -- comparison for the string-like type s (for example: -- String, Text, ByteString, etc.). -- -- Note that NI s has an instance for IsString which -- together with the OverloadedStrings language extension allows -- you to write normalization insensitive string literals as in: -- --
-- > ("\12399\12441" :: NI Text) == ("\12400" :: NI Text)
-- True
--
data NI s
-- | Make the given string-like value normalization insensitive.
mk :: Normalizable s => s -> NI s
-- | Retrieve the original string-like value.
original :: NI s -> s
-- | Retrieve the normalized string-like value. (Also see
-- normalize).
normalized :: NI s -> s
-- | Transform the original string-like value but keep it normalized.
map :: Normalizable s2 => (s1 -> s2) -> NI s1 -> NI s2
-- | Class of string-like types that support normalization.
class Normalizable s
normalize :: Normalizable s => s -> s
-- | Provides an unsafe way to create a normalization insensitive
-- string-like value.
module Data.Unicode.NormalizationInsensitive.Unsafe
-- | Constructs an NI from an already normalized string-like value.
-- The given string is used both as the original as well as the
-- normalized.
--
-- This function is unsafe since the compiler can't guarantee that the
-- provided string is normalized.
unsafeMk :: s -> NI s