Maintainer | Bas van Dijk <v.dijk.bas@gmail.com> |
---|
This module is intended to be imported qualified. May I suggest:
import Data.CaseInsensitive ( CI ) import qualifed Data.CaseInsensitivee as CI
Documentation
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
foldedCase :: CI s -> sSource
Retrieve the case folded string-like value.
(Also see foldCase
).
map :: FoldCase s2 => (s1 -> s2) -> CI s1 -> CI s2Source
Transform the original string-like value but keep it case insensitive.
Class of string-like types that support folding cases.
Note that the instances for Char
, String
, ShowS
and the ByteString
types do not perform fully correct Unicode-aware case folding, they simply
toLower
their characters! This is of course more than suitable for ASCII
encoded strings.
The instances for the Text
types use toCaseFold
which performs a
better Unicode-aware case fold which is more suitable for case insensitive
string comparisons.