module Data.RFC5051.Types (Category(..))
where

data Category =
        Lm   -- Letter, Modifier
     |  Lo   -- Letter, Other
     |  Pc   -- Punctuation, Connector
     |  Pd   -- Punctuation, Dash
     |  Ps   -- Punctuation, Open
     |  Pe   -- Punctuation, Close
     |  Pi   -- Punctuation, Initial quote (may behave like Ps or Pe)
     |  Pf   -- Punctuation, Final quote (may behave like Ps or Pe)
     |  Po   -- Punctuation, Other
     |  Sm   -- Symbol, Math
     |  Sc   -- Symbol, Currency
     |  Sk   -- Symbol, Modifier
     |  So   -- Symbol, Other
     |  Lu   -- Letter, Uppercase
     |  Ll   -- Letter, Lowercase
     |  Lt   -- Letter, Titlecase
     |  Mn   -- Mark, Non-Spacing
     |  Mc   -- Mark, Spacing Combining
     |  Me   -- Mark, Enclosing
     |  Nd   -- Number, Decimal Digit
     |  Nl   -- Number, Letter
     |  No   -- Number, Other
     |  Zs   -- Separator, Space
     |  Zl   -- Separator, Line
     |  Zp   -- Separator, Paragraph
     |  Cc   -- Other, Control
     |  Cf   -- Other, Format
     |  Cs   -- Other, Surrogate
     |  Co   -- Other, Private Use
     |  Cn   -- Other, Not Assigned
     deriving (Int -> Category -> ShowS
[Category] -> ShowS
Category -> String
(Int -> Category -> ShowS)
-> (Category -> String) -> ([Category] -> ShowS) -> Show Category
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Category] -> ShowS
$cshowList :: [Category] -> ShowS
show :: Category -> String
$cshow :: Category -> String
showsPrec :: Int -> Category -> ShowS
$cshowsPrec :: Int -> Category -> ShowS
Show, ReadPrec [Category]
ReadPrec Category
Int -> ReadS Category
ReadS [Category]
(Int -> ReadS Category)
-> ReadS [Category]
-> ReadPrec Category
-> ReadPrec [Category]
-> Read Category
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Category]
$creadListPrec :: ReadPrec [Category]
readPrec :: ReadPrec Category
$creadPrec :: ReadPrec Category
readList :: ReadS [Category]
$creadList :: ReadS [Category]
readsPrec :: Int -> ReadS Category
$creadsPrec :: Int -> ReadS Category
Read, Category -> Category -> Bool
(Category -> Category -> Bool)
-> (Category -> Category -> Bool) -> Eq Category
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Category -> Category -> Bool
$c/= :: Category -> Category -> Bool
== :: Category -> Category -> Bool
$c== :: Category -> Category -> Bool
Eq)