-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Case insensitive string comparison -- -- The module Data.CaseInsensitive provides the CI type -- constructor which can be parameterised by a string-like type like: -- String, ByteString, Text, etc.. Comparisons of -- values of the resulting type will be insensitive to cases. @package case-insensitive @version 1.2.1.0 -- | This module is intended to be imported qualified. May I suggest: -- --
--   import           Data.CaseInsensitive  ( CI )
--   import qualified Data.CaseInsensitive as CI
--   
-- -- Note that the FoldCase instance for ByteStrings is only -- guaranteed to be correct for ISO-8859-1 encoded strings! module Data.CaseInsensitive -- | A CI s provides Case Insensitive comparison for -- the string-like type s (for example: String, -- Text, ByteString, etc.). -- -- Note that CI s has an instance for IsString which -- together with the OverloadedStrings language extension allows -- you to write case insensitive string literals as in: -- --
--   > ("Content-Type" :: CI Text) == ("CONTENT-TYPE" :: CI Text)
--   True
--   
data CI s -- | Make the given string-like value case insensitive. mk :: FoldCase s => s -> CI s -- | Retrieve the original string-like value. original :: CI s -> s -- | Retrieve the case folded string-like value. (Also see -- foldCase). foldedCase :: CI s -> s -- | Transform the original string-like value but keep it case insensitive. map :: FoldCase s2 => (s1 -> s2) -> CI s1 -> CI s2 -- | Transform the original string-like value but keep it case insensitive. traverse :: (FoldCase s2, Applicative f) => (s1 -> f s2) -> CI s1 -> f (CI s2) -- | Class of string-like types that support folding cases. -- -- Note: In some languages, case conversion is a locale- and -- context-dependent operation. The foldCase method is -- not intended to be locale sensitive. Programs that require -- locale sensitivity should use appropriate versions of the case mapping -- functions from the text-icu package: -- http://hackage.haskell.org/package/text-icu class FoldCase s foldCase :: FoldCase s => s -> s -- | Provides an unsafe way to create a case insensitive string-like value. module Data.CaseInsensitive.Unsafe -- | Constructs a CI from an already case folded string-like value. -- The given string is used both as the original as well as the -- foldedCase. -- -- This function is unsafe since the compiler can't guarantee that the -- provided string is case folded. unsafeMk :: FoldCase s => s -> CI s