Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Data.CaseInsensitive.Eq
Description
This, like most other case-insensitive matching algorithms, is an over-simplification. For some complex Q&A about properties like case, see http://unicode.org/faq/casemap_charprop.html. A round-trip case-conversion does not necessarily result in the original character(s) in some scripts. Also, string matching is not necessarily the same as character matching. The char-at-a-time approach taken here is not technically correct, but works for the most scripts, and definitely for ASCII and the ISO-8859-1 8-bit Latin 1 character set.
Usage is simple:
main = putStrLn $ if "HREF" ^== "href" then "match" else "no match"
- class CaseInsensitiveEq a where
- caseInsensitiveEq :: a -> a -> Bool
- caseInsensitiveMatch :: [a] -> [a] -> Bool
- (^==) :: CaseInsensitiveEq a => a -> a -> Bool
- (^/=) :: CaseInsensitiveEq a => a -> a -> Bool
Documentation
class CaseInsensitiveEq a where
Minimal complete definition
Instances
CaseInsensitiveEq Char | |
CaseInsensitiveEq Word8 | |
CaseInsensitiveEq ByteString | |
CaseInsensitiveEq ByteString | |
CaseInsensitiveEq Text | |
CaseInsensitiveEq Text | |
CaseInsensitiveEq a => CaseInsensitiveEq [a] | |
(CaseInsensitiveEq a, CaseInsensitiveEq b) => CaseInsensitiveEq (a, b) | |
(CaseInsensitiveEq a, CaseInsensitiveEq b, CaseInsensitiveEq c) => CaseInsensitiveEq (a, b, c) | |
(CaseInsensitiveEq a, CaseInsensitiveEq b, CaseInsensitiveEq c, CaseInsensitiveEq d) => CaseInsensitiveEq (a, b, c, d) |
(^==) :: CaseInsensitiveEq a => a -> a -> Bool
An equality operator for CaseInsensitiveEq
.
(^/=) :: CaseInsensitiveEq a => a -> a -> Bool
An inequality operator for CaseInsensitiveEq
.