-- 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 0.4 -- | This module is intended to be imported qualified. May I suggest: -- --
-- import Data.CaseInsensitive ( CI ) -- import qualified Data.CaseInsensitive as CI --module Data.CaseInsensitive -- | A CI s provides Case Insensitive comparison for -- the string-like type s (for example: String, -- Text, ByteString, ShowS, 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)
-- | 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
instance Typeable1 CI
instance FoldCase (CI s)
instance FoldCase ShowS
instance FoldCase Text
instance FoldCase Text
instance FoldCase String
instance FoldCase ByteString
instance FoldCase ByteString
instance Hashable s => Hashable (CI s)
instance Show s => Show (CI s)
instance (Read s, FoldCase s) => Read (CI s)
instance Ord s => Ord (CI s)
instance Eq s => Eq (CI s)
instance Monoid s => Monoid (CI s)
instance (IsString s, FoldCase s) => IsString (CI s)