-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Fast unicode character sets based on complemented PATRICIA tries
--   
--   Fast unicode character sets based on complemented PATRICIA tries
@package charset
@version 0.3.7.1


-- | Fast set membership tests for byte values, The set representation is
--   unboxed for efficiency and uses a lookup table. This is a fairly
--   minimal API. You probably want to use CharSet.
module Data.CharSet.ByteSet
newtype ByteSet
ByteSet :: ByteString -> ByteSet
fromList :: [Word8] -> ByteSet

-- | Check the set for membership.
member :: Word8 -> ByteSet -> Bool
instance GHC.Show.Show Data.CharSet.ByteSet.ByteSet
instance GHC.Classes.Ord Data.CharSet.ByteSet.ByteSet
instance GHC.Classes.Eq Data.CharSet.ByteSet.ByteSet


-- | Fast set membership tests for <a>Char</a> values
--   
--   Stored as a (possibly negated) IntMap and a fast set used for the head
--   byte.
--   
--   The set of valid (possibly negated) head bytes is stored unboxed as a
--   32-byte bytestring-based lookup table.
--   
--   Designed to be imported qualified:
--   
--   <pre>
--   import Data.CharSet (CharSet)
--   import qualified Data.CharSet as CharSet
--   </pre>
module Data.CharSet
data CharSet
CharSet :: !Bool -> {-# UNPACK #-} !ByteSet -> !IntSet -> CharSet
(\\) :: CharSet -> CharSet -> CharSet

-- | <i>O(n)</i> worst case
null :: CharSet -> Bool

-- | <i>O(n)</i>
size :: CharSet -> Int
member :: Char -> CharSet -> Bool
notMember :: Char -> CharSet -> Bool
overlaps :: CharSet -> CharSet -> Bool
isSubsetOf :: CharSet -> CharSet -> Bool
isComplemented :: CharSet -> Bool
build :: (Char -> Bool) -> CharSet
empty :: CharSet
singleton :: Char -> CharSet
full :: CharSet
insert :: Char -> CharSet -> CharSet
delete :: Char -> CharSet -> CharSet
complement :: CharSet -> CharSet
range :: Char -> Char -> CharSet
union :: CharSet -> CharSet -> CharSet
intersection :: CharSet -> CharSet -> CharSet
difference :: CharSet -> CharSet -> CharSet
filter :: (Char -> Bool) -> CharSet -> CharSet
partition :: (Char -> Bool) -> CharSet -> (CharSet, CharSet)
map :: (Char -> Char) -> CharSet -> CharSet
fold :: (Char -> b -> b) -> b -> CharSet -> b
toList :: CharSet -> String
fromList :: String -> CharSet
toAscList :: CharSet -> String
fromAscList :: String -> CharSet
fromDistinctAscList :: String -> CharSet
fromCharSet :: CharSet -> (Bool, IntSet)
toCharSet :: IntSet -> CharSet
toArray :: CharSet -> UArray Char Bool
instance Data.Data.Data Data.CharSet.CharSet
instance GHC.Classes.Eq Data.CharSet.CharSet
instance GHC.Classes.Ord Data.CharSet.CharSet
instance GHC.Enum.Bounded Data.CharSet.CharSet
instance GHC.Show.Show Data.CharSet.CharSet
instance GHC.Read.Read Data.CharSet.CharSet
instance Data.Semigroup.Semigroup Data.CharSet.CharSet
instance GHC.Base.Monoid Data.CharSet.CharSet


-- | The various character classifications from <a>Data.Char</a> as
--   <a>CharSet</a>s
module Data.CharSet.Common
control :: CharSet
space :: CharSet
lower :: CharSet
upper :: CharSet
alpha :: CharSet
alphaNum :: CharSet
print :: CharSet
digit :: CharSet
octDigit :: CharSet
letter :: CharSet
mark :: CharSet
number :: CharSet
punctuation :: CharSet
symbol :: CharSet
separator :: CharSet
ascii :: CharSet
latin1 :: CharSet
asciiUpper :: CharSet
asciiLower :: CharSet


module Data.CharSet.Posix.Ascii
posixAscii :: HashMap String CharSet
lookupPosixAsciiCharSet :: String -> Maybe CharSet
alnum :: CharSet
alpha :: CharSet
ascii :: CharSet
blank :: CharSet
cntrl :: CharSet
digit :: CharSet
graph :: CharSet
print :: CharSet
word :: CharSet
punct :: CharSet
space :: CharSet
upper :: CharSet
lower :: CharSet
xdigit :: CharSet


-- | Provides unicode general categories, which are typically connoted by
--   <tt>\p{Ll}</tt> or <tt>\p{Modifier_Letter}</tt>. Lookups can be
--   constructed using <tt>categories</tt> or individual character sets can
--   be used directly.
module Data.CharSet.Unicode
data UnicodeCategory
UnicodeCategory :: String -> String -> CharSet -> String -> UnicodeCategory
unicodeCategories :: [UnicodeCategory]
modifierLetter :: CharSet
otherLetter :: CharSet
letter :: CharSet
lowercaseLetter :: CharSet
uppercaseLetter :: CharSet
titlecaseLetter :: CharSet
letterAnd :: CharSet
nonSpacingMark :: CharSet
spacingCombiningMark :: CharSet
enclosingMark :: CharSet
mark :: CharSet
space :: CharSet
lineSeparator :: CharSet
paragraphSeparator :: CharSet
separator :: CharSet
mathSymbol :: CharSet
currencySymbol :: CharSet
modifierSymbol :: CharSet
otherSymbol :: CharSet
symbol :: CharSet
decimalNumber :: CharSet
letterNumber :: CharSet
otherNumber :: CharSet
number :: CharSet
dashPunctuation :: CharSet
openPunctuation :: CharSet
closePunctuation :: CharSet
initialQuote :: CharSet
finalQuote :: CharSet
connectorPunctuation :: CharSet
otherPunctuation :: CharSet
punctuation :: CharSet
control :: CharSet
format :: CharSet
privateUse :: CharSet
surrogate :: CharSet
notAssigned :: CharSet
other :: CharSet
instance Data.Data.Data Data.CharSet.Unicode.UnicodeCategory
instance GHC.Show.Show Data.CharSet.Unicode.UnicodeCategory


-- | Provides unicode general categories, which are typically connoted by
--   <tt>\p{Ll}</tt> or <tt>\p{Modifier_Letter}</tt>. Lookups can be
--   constructed using <a>categories</a> or individual character sets can
--   be used directly.
--   
--   A case, <tt>_</tt> and <tt>-</tt> insensitive lookup is provided by
--   <a>lookupCategory</a> and can be used to provide behavior similar to
--   that of Perl or PCRE.
module Data.CharSet.Unicode.Category
data Category
Category :: String -> String -> CharSet -> String -> Category
[categoryName] :: Category -> String
[categoryAbbreviation] :: Category -> String
[categoryCharSet] :: Category -> CharSet
[categoryDescription] :: Category -> String
categories :: [Category]
lookupCategory :: String -> Maybe Category
lookupCategoryCharSet :: String -> Maybe CharSet
modifierLetter :: CharSet
otherLetter :: CharSet
letter :: CharSet
lowercaseLetter :: CharSet
uppercaseLetter :: CharSet
titlecaseLetter :: CharSet
letterAnd :: CharSet
nonSpacingMark :: CharSet
spacingCombiningMark :: CharSet
enclosingMark :: CharSet
mark :: CharSet
space :: CharSet
lineSeparator :: CharSet
paragraphSeparator :: CharSet
separator :: CharSet
mathSymbol :: CharSet
currencySymbol :: CharSet
modifierSymbol :: CharSet
otherSymbol :: CharSet
symbol :: CharSet
decimalNumber :: CharSet
letterNumber :: CharSet
otherNumber :: CharSet
number :: CharSet
dashPunctuation :: CharSet
openPunctuation :: CharSet
closePunctuation :: CharSet
initialQuote :: CharSet
finalQuote :: CharSet
connectorPunctuation :: CharSet
otherPunctuation :: CharSet
punctuation :: CharSet
control :: CharSet
format :: CharSet
privateUse :: CharSet
surrogate :: CharSet
notAssigned :: CharSet
other :: CharSet
instance Data.Data.Data Data.CharSet.Unicode.Category.Category
instance GHC.Show.Show Data.CharSet.Unicode.Category.Category


-- | Provides unicode general categories, which are typically connoted by
--   <tt>p{InBasicLatin}</tt> or <tt>p{InIPA_Extensions}</tt>. Lookups can
--   be constructed using <tt>categories</tt> or individual character sets
--   can be used directly.
module Data.CharSet.Unicode.Block
data Block
Block :: String -> CharSet -> Block
[blockName] :: Block -> String
[blockCharSet] :: Block -> CharSet
blocks :: [Block]
lookupBlock :: String -> Maybe Block
lookupBlockCharSet :: String -> Maybe CharSet
basicLatin :: CharSet
latin1Supplement :: CharSet
latinExtendedA :: CharSet
latinExtendedB :: CharSet
ipaExtensions :: CharSet
spacingModifierLetters :: CharSet
combiningDiacriticalMarks :: CharSet
greekAndCoptic :: CharSet
cyrillic :: CharSet
cyrillicSupplementary :: CharSet
armenian :: CharSet
hebrew :: CharSet
arabic :: CharSet
syriac :: CharSet
thaana :: CharSet
devanagari :: CharSet
bengali :: CharSet
gurmukhi :: CharSet
gujarati :: CharSet
oriya :: CharSet
tamil :: CharSet
telugu :: CharSet
kannada :: CharSet
malayalam :: CharSet
sinhala :: CharSet
thai :: CharSet
lao :: CharSet
tibetan :: CharSet
myanmar :: CharSet
georgian :: CharSet
hangulJamo :: CharSet
ethiopic :: CharSet
cherokee :: CharSet
unifiedCanadianAboriginalSyllabics :: CharSet
ogham :: CharSet
runic :: CharSet
tagalog :: CharSet
hanunoo :: CharSet
buhid :: CharSet
tagbanwa :: CharSet
khmer :: CharSet
mongolian :: CharSet
limbu :: CharSet
taiLe :: CharSet
khmerSymbols :: CharSet
phoneticExtensions :: CharSet
latinExtendedAdditional :: CharSet
greekExtended :: CharSet
generalPunctuation :: CharSet
superscriptsAndSubscripts :: CharSet
currencySymbols :: CharSet
combiningDiacriticalMarksForSymbols :: CharSet
letterlikeSymbols :: CharSet
numberForms :: CharSet
arrows :: CharSet
mathematicalOperators :: CharSet
miscellaneousTechnical :: CharSet
controlPictures :: CharSet
opticalCharacterRecognition :: CharSet
enclosedAlphanumerics :: CharSet
boxDrawing :: CharSet
blockElements :: CharSet
geometricShapes :: CharSet
miscellaneousSymbols :: CharSet
dingbats :: CharSet
miscellaneousMathematicalSymbolsA :: CharSet
supplementalArrowsA :: CharSet
braillePatterns :: CharSet
supplementalArrowsB :: CharSet
miscellaneousMathematicalSymbolsB :: CharSet
supplementalMathematicalOperators :: CharSet
miscellaneousSymbolsAndArrows :: CharSet
cjkRadicalsSupplement :: CharSet
kangxiRadicals :: CharSet
ideographicDescriptionCharacters :: CharSet
cjkSymbolsAndPunctuation :: CharSet
hiragana :: CharSet
katakana :: CharSet
bopomofo :: CharSet
hangulCompatibilityJamo :: CharSet
kanbun :: CharSet
bopomofoExtended :: CharSet
katakanaPhoneticExtensions :: CharSet
enclosedCjkLettersAndMonths :: CharSet
cjkCompatibility :: CharSet
cjkUnifiedIdeographsExtensionA :: CharSet
yijingHexagramSymbols :: CharSet
cjkUnifiedIdeographs :: CharSet
yiSyllables :: CharSet
yiRadicals :: CharSet
hangulSyllables :: CharSet
highSurrogates :: CharSet
highPrivateUseSurrogates :: CharSet
lowSurrogates :: CharSet
privateUseArea :: CharSet
cjkCompatibilityIdeographs :: CharSet
alphabeticPresentationForms :: CharSet
arabicPresentationFormsA :: CharSet
variationSelectors :: CharSet
combiningHalfMarks :: CharSet
cjkCompatibilityForms :: CharSet
smallFormVariants :: CharSet
arabicPresentationFormsB :: CharSet
halfwidthAndFullwidthForms :: CharSet
specials :: CharSet
instance Data.Data.Data Data.CharSet.Unicode.Block.Block
instance GHC.Show.Show Data.CharSet.Unicode.Block.Block


module Data.CharSet.Posix.Unicode
posixUnicode :: HashMap String CharSet
lookupPosixUnicodeCharSet :: String -> Maybe CharSet
alnum :: CharSet
alpha :: CharSet
ascii :: CharSet
blank :: CharSet
cntrl :: CharSet
digit :: CharSet
graph :: CharSet
print :: CharSet
word :: CharSet
punct :: CharSet
space :: CharSet
upper :: CharSet
lower :: CharSet
xdigit :: CharSet


module Data.CharSet.Posix
posixAscii :: HashMap String CharSet
lookupPosixAsciiCharSet :: String -> Maybe CharSet
posixUnicode :: HashMap String CharSet
lookupPosixUnicodeCharSet :: String -> Maybe CharSet
