Copyright | (c) 2011-2013 Bas van Dijk |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Bas van Dijk <v.dijk.bas@gmail.com> |
Safe Haskell | Trustworthy |
Language | Haskell98 |
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!
Documentation
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
Eq s => Eq (CI s) Source # | |
Data s => Data (CI s) Source # | |
Ord s => Ord (CI s) Source # | |
(Read s, FoldCase s) => Read (CI s) Source # | |
Show s => Show (CI s) Source # | |
(IsString s, FoldCase s) => IsString (CI s) Source # | |
Semigroup s => Semigroup (CI s) Source # | |
Monoid s => Monoid (CI s) Source # | |
NFData s => NFData (CI s) Source # | |
Hashable s => Hashable (CI s) Source # | |
FoldCase (CI s) Source # | |
foldedCase :: CI s -> s Source #
Retrieve the case folded string-like value.
(Also see foldCase
).
map :: FoldCase s2 => (s1 -> s2) -> CI s1 -> CI s2 Source #
Transform the original string-like value but keep it case insensitive.
class FoldCase s where Source #
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
FoldCase Char Source # | |
FoldCase ByteString Source # | Note that |
FoldCase ByteString Source # | Note that |
FoldCase Text Source # | |
FoldCase Text Source # | |
FoldCase a => FoldCase [a] Source # | |
FoldCase (CI s) Source # | |