This file is indexed.

/usr/share/doc/libghc-charset-doc/html/src/Data-CharSet-Unicode.html is in libghc-charset-doc 0.3.7-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<!-- Generated by HsColour, http://code.haskell.org/~malcolm/hscolour/ -->
<title>src/Data/CharSet/Unicode.hs</title>
<link type='text/css' rel='stylesheet' href='hscolour.css' />
</head>
<body>
<pre><a name="line-1"></a><span class='hs-comment'>{-# LANGUAGE DeriveDataTypeable #-}</span>
<a name="line-2"></a><span class='hs-comment'>-----------------------------------------------------------------------------</span>
<a name="line-3"></a><span class='hs-comment'>-- |</span>
<a name="line-4"></a><span class='hs-comment'>-- Module      :  Data.CharSet.Unicode</span>
<a name="line-5"></a><span class='hs-comment'>-- Copyright   :  (c) Edward Kmett 2010</span>
<a name="line-6"></a><span class='hs-comment'>-- License     :  BSD3</span>
<a name="line-7"></a><span class='hs-comment'>-- Maintainer  :  ekmett@gmail.com</span>
<a name="line-8"></a><span class='hs-comment'>-- Stability   :  experimental</span>
<a name="line-9"></a><span class='hs-comment'>-- Portability :  portable</span>
<a name="line-10"></a><span class='hs-comment'>--</span>
<a name="line-11"></a><span class='hs-comment'>-- Provides unicode general categories, which are typically connoted by</span>
<a name="line-12"></a><span class='hs-comment'>-- @\p{Ll}@ or @\p{Modifier_Letter}@. Lookups can be constructed using 'categories'</span>
<a name="line-13"></a><span class='hs-comment'>-- or individual character sets can be used directly.</span>
<a name="line-14"></a><span class='hs-comment'>-------------------------------------------------------------------------------</span>
<a name="line-15"></a>
<a name="line-16"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>CharSet</span><span class='hs-varop'>.</span><span class='hs-conid'>Unicode</span>
<a name="line-17"></a>    <span class='hs-layout'>(</span>
<a name="line-18"></a>    <span class='hs-comment'>-- * Unicode General Category</span>
<a name="line-19"></a>      <span class='hs-conid'>UnicodeCategory</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span>
<a name="line-20"></a>    <span class='hs-comment'>-- * Lookup</span>
<a name="line-21"></a>    <span class='hs-layout'>,</span> <span class='hs-varid'>unicodeCategories</span>
<a name="line-22"></a>    <span class='hs-comment'>-- * CharSets by UnicodeCategory</span>
<a name="line-23"></a>    <span class='hs-comment'>-- ** Letter</span>
<a name="line-24"></a>    <span class='hs-layout'>,</span> <span class='hs-varid'>modifierLetter</span><span class='hs-layout'>,</span> <span class='hs-varid'>otherLetter</span><span class='hs-layout'>,</span> <span class='hs-varid'>letter</span>
<a name="line-25"></a>    <span class='hs-comment'>-- *** Letter\&amp;</span>
<a name="line-26"></a>    <span class='hs-layout'>,</span> <span class='hs-varid'>lowercaseLetter</span><span class='hs-layout'>,</span> <span class='hs-varid'>uppercaseLetter</span><span class='hs-layout'>,</span> <span class='hs-varid'>titlecaseLetter</span><span class='hs-layout'>,</span> <span class='hs-varid'>letterAnd</span>
<a name="line-27"></a>    <span class='hs-comment'>-- ** Mark</span>
<a name="line-28"></a>    <span class='hs-layout'>,</span> <span class='hs-varid'>nonSpacingMark</span><span class='hs-layout'>,</span> <span class='hs-varid'>spacingCombiningMark</span><span class='hs-layout'>,</span> <span class='hs-varid'>enclosingMark</span><span class='hs-layout'>,</span> <span class='hs-varid'>mark</span>
<a name="line-29"></a>    <span class='hs-comment'>-- ** Separator</span>
<a name="line-30"></a>    <span class='hs-layout'>,</span> <span class='hs-varid'>space</span><span class='hs-layout'>,</span> <span class='hs-varid'>lineSeparator</span><span class='hs-layout'>,</span> <span class='hs-varid'>paragraphSeparator</span><span class='hs-layout'>,</span> <span class='hs-varid'>separator</span>
<a name="line-31"></a>    <span class='hs-comment'>-- ** Symbol</span>
<a name="line-32"></a>    <span class='hs-layout'>,</span> <span class='hs-varid'>mathSymbol</span><span class='hs-layout'>,</span> <span class='hs-varid'>currencySymbol</span><span class='hs-layout'>,</span> <span class='hs-varid'>modifierSymbol</span><span class='hs-layout'>,</span> <span class='hs-varid'>otherSymbol</span><span class='hs-layout'>,</span> <span class='hs-varid'>symbol</span>
<a name="line-33"></a>    <span class='hs-comment'>-- ** Number</span>
<a name="line-34"></a>    <span class='hs-layout'>,</span> <span class='hs-varid'>decimalNumber</span><span class='hs-layout'>,</span> <span class='hs-varid'>letterNumber</span><span class='hs-layout'>,</span> <span class='hs-varid'>otherNumber</span><span class='hs-layout'>,</span> <span class='hs-varid'>number</span>
<a name="line-35"></a>    <span class='hs-comment'>-- ** Punctuation</span>
<a name="line-36"></a>    <span class='hs-layout'>,</span> <span class='hs-varid'>dashPunctuation</span><span class='hs-layout'>,</span> <span class='hs-varid'>openPunctuation</span><span class='hs-layout'>,</span> <span class='hs-varid'>closePunctuation</span><span class='hs-layout'>,</span> <span class='hs-varid'>initialQuote</span>
<a name="line-37"></a>    <span class='hs-layout'>,</span> <span class='hs-varid'>finalQuote</span><span class='hs-layout'>,</span> <span class='hs-varid'>connectorPunctuation</span><span class='hs-layout'>,</span> <span class='hs-varid'>otherPunctuation</span><span class='hs-layout'>,</span> <span class='hs-varid'>punctuation</span>
<a name="line-38"></a>    <span class='hs-comment'>-- ** Other</span>
<a name="line-39"></a>    <span class='hs-layout'>,</span> <span class='hs-varid'>control</span><span class='hs-layout'>,</span> <span class='hs-varid'>format</span><span class='hs-layout'>,</span> <span class='hs-varid'>privateUse</span><span class='hs-layout'>,</span> <span class='hs-varid'>surrogate</span><span class='hs-layout'>,</span> <span class='hs-varid'>notAssigned</span><span class='hs-layout'>,</span> <span class='hs-varid'>other</span>
<a name="line-40"></a>    <span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-41"></a>
<a name="line-42"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Char</span>
<a name="line-43"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Data</span>
<a name="line-44"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>CharSet</span>
<a name="line-45"></a>
<a name="line-46"></a><a name="UnicodeCategory"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>UnicodeCategory</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>UnicodeCategory</span> <span class='hs-conid'>String</span> <span class='hs-conid'>String</span> <span class='hs-conid'>CharSet</span> <span class='hs-conid'>String</span>
<a name="line-47"></a>    <span class='hs-keyword'>deriving</span> <span class='hs-layout'>(</span><span class='hs-conid'>Show</span><span class='hs-layout'>,</span> <span class='hs-conid'>Data</span><span class='hs-layout'>,</span> <span class='hs-conid'>Typeable</span><span class='hs-layout'>)</span>
<a name="line-48"></a>
<a name="line-49"></a><a name="unicodeCategories"></a><span class='hs-comment'>-- \p{Letter} or \p{Mc}</span>
<a name="line-50"></a><span class='hs-definition'>unicodeCategories</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>UnicodeCategory</span><span class='hs-keyglyph'>]</span>
<a name="line-51"></a><span class='hs-definition'>unicodeCategories</span> <span class='hs-keyglyph'>=</span>
<a name="line-52"></a>    <span class='hs-keyglyph'>[</span> <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Letter"</span> <span class='hs-str'>"L"</span> <span class='hs-varid'>letter</span> <span class='hs-str'>"any kind of letter from any language."</span>
<a name="line-53"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Lowercase_Letter"</span> <span class='hs-str'>"Ll"</span> <span class='hs-varid'>lowercaseLetter</span> <span class='hs-str'>"a lowercase letter that has an uppercase variant"</span>
<a name="line-54"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Uppercase_Letter"</span> <span class='hs-str'>"Lu"</span> <span class='hs-varid'>uppercaseLetter</span> <span class='hs-str'>"an uppercase letter that has a lowercase variant"</span>
<a name="line-55"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Titlecase_Letter"</span> <span class='hs-str'>"Lt"</span> <span class='hs-varid'>titlecaseLetter</span> <span class='hs-str'>"a letter that appears at the start of a word when only the first letter of the word is capitalized"</span>
<a name="line-56"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Letter&amp;"</span> <span class='hs-str'>"L&amp;"</span> <span class='hs-varid'>letterAnd</span> <span class='hs-str'>"a letter that exists in lowercase and uppercase variants (combination of Ll, Lu and Lt)"</span>
<a name="line-57"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Modifier_Letter"</span> <span class='hs-str'>"Lm"</span> <span class='hs-varid'>modifierLetter</span> <span class='hs-str'>"a special character that is used like a letter"</span>
<a name="line-58"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Other_Letter"</span> <span class='hs-str'>"Lo"</span> <span class='hs-varid'>otherLetter</span> <span class='hs-str'>"a letter or ideograph that does not have lowercase and uppercase variants"</span>
<a name="line-59"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Mark"</span> <span class='hs-str'>"M"</span> <span class='hs-varid'>mark</span> <span class='hs-str'>"a character intended to be combined with another character (e.g. accents, umlauts, enclosing boxes, etc.)"</span>
<a name="line-60"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Non_Spacing_Mark"</span> <span class='hs-str'>"Mn"</span> <span class='hs-varid'>nonSpacingMark</span> <span class='hs-str'>"a character intended to be combined with another character without taking up extra space (e.g. accents, umlauts, etc.)"</span>
<a name="line-61"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Spacing_Combining_Mark"</span> <span class='hs-str'>"Mc"</span> <span class='hs-varid'>spacingCombiningMark</span> <span class='hs-str'>"a character intended to be combined with another character that takes up extra space (vowel signs in many Eastern languages)"</span>
<a name="line-62"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Enclosing_Mark"</span> <span class='hs-str'>"Me"</span> <span class='hs-varid'>enclosingMark</span> <span class='hs-str'>"a character that encloses the character is is combined with (circle, square, keycap, etc.)"</span>
<a name="line-63"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Separator"</span> <span class='hs-str'>"Z"</span> <span class='hs-varid'>separator</span> <span class='hs-str'>"any kind of whitespace or invisible separator"</span>
<a name="line-64"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Space_Separator"</span> <span class='hs-str'>"Zs"</span> <span class='hs-varid'>space</span> <span class='hs-str'>"a whitespace character that is invisible, but does take up space"</span>
<a name="line-65"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Line_Separator"</span> <span class='hs-str'>"Zl"</span> <span class='hs-varid'>lineSeparator</span> <span class='hs-str'>"line separator character U+2028"</span>
<a name="line-66"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Paragraph_Separator"</span> <span class='hs-str'>"Zp"</span> <span class='hs-varid'>paragraphSeparator</span> <span class='hs-str'>"paragraph separator character U+2029"</span>
<a name="line-67"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Symbol"</span> <span class='hs-str'>"S"</span> <span class='hs-varid'>symbol</span> <span class='hs-str'>"math symbols, currency signs, dingbats, box-drawing characters, etc."</span>
<a name="line-68"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Math_Symbol"</span> <span class='hs-str'>"Sm"</span> <span class='hs-varid'>mathSymbol</span> <span class='hs-str'>"any mathematical symbol"</span>
<a name="line-69"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Currency_Symbol"</span> <span class='hs-str'>"Sc"</span> <span class='hs-varid'>currencySymbol</span> <span class='hs-str'>"any currency sign"</span>
<a name="line-70"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Modifier_Symbol"</span> <span class='hs-str'>"Sk"</span> <span class='hs-varid'>modifierSymbol</span> <span class='hs-str'>"a combining character (mark) as a full character on its own"</span>
<a name="line-71"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Other_Symbol"</span> <span class='hs-str'>"So"</span> <span class='hs-varid'>otherSymbol</span> <span class='hs-str'>"various symbols that are not math symbols, currency signs, or combining characters"</span>
<a name="line-72"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Number"</span> <span class='hs-str'>"N"</span> <span class='hs-varid'>number</span> <span class='hs-str'>"any kind of numeric character in any script"</span>
<a name="line-73"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Decimal_Digit_Number"</span> <span class='hs-str'>"Nd"</span> <span class='hs-varid'>decimalNumber</span> <span class='hs-str'>"a digit zero through nine in any script except ideographic scripts"</span>
<a name="line-74"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Letter_Number"</span> <span class='hs-str'>"Nl"</span> <span class='hs-varid'>letterNumber</span> <span class='hs-str'>"a number that looks like a letter, such as a Roman numeral"</span>
<a name="line-75"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Other_Number"</span> <span class='hs-str'>"No"</span> <span class='hs-varid'>otherNumber</span> <span class='hs-str'>"a superscript or subscript digit, or a number that is not a digit 0..9 (excluding numbers from ideographic scripts)"</span>
<a name="line-76"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Punctuation"</span> <span class='hs-str'>"P"</span> <span class='hs-varid'>punctuation</span> <span class='hs-str'>"any kind of punctuation character"</span>
<a name="line-77"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Dash_Punctuation"</span> <span class='hs-str'>"Pd"</span> <span class='hs-varid'>dashPunctuation</span> <span class='hs-str'>"any kind of hyphen or dash"</span>
<a name="line-78"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Open_Punctuation"</span> <span class='hs-str'>"Ps"</span> <span class='hs-varid'>openPunctuation</span> <span class='hs-str'>"any kind of opening bracket"</span>
<a name="line-79"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Close_Punctuation"</span> <span class='hs-str'>"Pe"</span> <span class='hs-varid'>closePunctuation</span> <span class='hs-str'>"any kind of closing bracket"</span>
<a name="line-80"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Initial_Punctuation"</span> <span class='hs-str'>"Pi"</span> <span class='hs-varid'>initialQuote</span> <span class='hs-str'>"any kind of opening quote"</span>
<a name="line-81"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Final_Punctuation"</span> <span class='hs-str'>"Pf"</span> <span class='hs-varid'>finalQuote</span> <span class='hs-str'>"any kind of closing quote"</span>
<a name="line-82"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Connector_Punctuation"</span> <span class='hs-str'>"Pc"</span> <span class='hs-varid'>connectorPunctuation</span> <span class='hs-str'>"a punctuation character such as an underscore that connects words"</span>
<a name="line-83"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Other_Punctuation"</span> <span class='hs-str'>"Po"</span> <span class='hs-varid'>otherPunctuation</span> <span class='hs-str'>"any kind of punctuation character that is not a dash, bracket, quote or connector"</span>
<a name="line-84"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Other"</span> <span class='hs-str'>"C"</span> <span class='hs-varid'>other</span> <span class='hs-str'>"invisible control characters and unused code points"</span>
<a name="line-85"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Control"</span> <span class='hs-str'>"Cc"</span> <span class='hs-varid'>control</span> <span class='hs-str'>"an ASCII 0x00..0x1F or Latin-1 0x80..0x9F control character"</span>
<a name="line-86"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Format"</span> <span class='hs-str'>"Cf"</span> <span class='hs-varid'>format</span> <span class='hs-str'>"invisible formatting indicator"</span>
<a name="line-87"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Private_Use"</span> <span class='hs-str'>"Co"</span> <span class='hs-varid'>privateUse</span> <span class='hs-str'>"any code point reserved for private use"</span>
<a name="line-88"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Surrogate"</span> <span class='hs-str'>"Cs"</span> <span class='hs-varid'>surrogate</span> <span class='hs-str'>"one half of a surrogate pair in UTF-16 encoding"</span>
<a name="line-89"></a>    <span class='hs-layout'>,</span>     <span class='hs-conid'>UnicodeCategory</span> <span class='hs-str'>"Unassigned"</span> <span class='hs-str'>"Cn"</span> <span class='hs-varid'>notAssigned</span> <span class='hs-str'>"any code point to which no character has been assigned.properties"</span> <span class='hs-keyglyph'>]</span>
<a name="line-90"></a>
<a name="line-91"></a><a name="cat"></a><span class='hs-definition'>cat</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GeneralCategory</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>CharSet</span>
<a name="line-92"></a><span class='hs-definition'>cat</span> <span class='hs-varid'>category</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>build</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>category</span> <span class='hs-varop'>==</span><span class='hs-layout'>)</span> <span class='hs-varop'>.</span> <span class='hs-varid'>generalCategory</span><span class='hs-layout'>)</span>
<a name="line-93"></a>
<a name="line-94"></a><a name="lowercaseLetter"></a><span class='hs-comment'>-- Letter</span>
<a name="line-95"></a><span class='hs-definition'>lowercaseLetter</span><span class='hs-layout'>,</span> <span class='hs-varid'>uppercaseLetter</span><span class='hs-layout'>,</span> <span class='hs-varid'>titlecaseLetter</span><span class='hs-layout'>,</span> <span class='hs-varid'>letterAnd</span><span class='hs-layout'>,</span> <span class='hs-varid'>modifierLetter</span><span class='hs-layout'>,</span> <span class='hs-varid'>otherLetter</span><span class='hs-layout'>,</span> <span class='hs-varid'>letter</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CharSet</span>
<a name="line-96"></a><span class='hs-definition'>lowercaseLetter</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>LowercaseLetter</span>
<a name="line-97"></a><a name="uppercaseLetter"></a><span class='hs-definition'>uppercaseLetter</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>UppercaseLetter</span>
<a name="line-98"></a><a name="titlecaseLetter"></a><span class='hs-definition'>titlecaseLetter</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>TitlecaseLetter</span>
<a name="line-99"></a><a name="letterAnd"></a><span class='hs-definition'>letterAnd</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>lowercaseLetter</span>
<a name="line-100"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>uppercaseLetter</span>
<a name="line-101"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>titlecaseLetter</span>
<a name="line-102"></a><a name="modifierLetter"></a><span class='hs-definition'>modifierLetter</span>  <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>ModifierLetter</span>
<a name="line-103"></a><a name="otherLetter"></a><span class='hs-definition'>otherLetter</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>OtherLetter</span>
<a name="line-104"></a><a name="letter"></a><span class='hs-definition'>letter</span>
<a name="line-105"></a>          <span class='hs-keyglyph'>=</span> <span class='hs-varid'>letterAnd</span>
<a name="line-106"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>modifierLetter</span>
<a name="line-107"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>otherLetter</span>
<a name="line-108"></a>
<a name="line-109"></a><a name="nonSpacingMark"></a><span class='hs-comment'>-- Marks</span>
<a name="line-110"></a><span class='hs-definition'>nonSpacingMark</span><span class='hs-layout'>,</span> <span class='hs-varid'>spacingCombiningMark</span><span class='hs-layout'>,</span> <span class='hs-varid'>enclosingMark</span><span class='hs-layout'>,</span> <span class='hs-varid'>mark</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CharSet</span>
<a name="line-111"></a><span class='hs-definition'>nonSpacingMark</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>NonSpacingMark</span>
<a name="line-112"></a><a name="spacingCombiningMark"></a><span class='hs-definition'>spacingCombiningMark</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>SpacingCombiningMark</span>
<a name="line-113"></a><a name="enclosingMark"></a><span class='hs-definition'>enclosingMark</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>EnclosingMark</span>
<a name="line-114"></a><a name="mark"></a><span class='hs-definition'>mark</span>
<a name="line-115"></a>          <span class='hs-keyglyph'>=</span> <span class='hs-varid'>nonSpacingMark</span>
<a name="line-116"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>spacingCombiningMark</span>
<a name="line-117"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>enclosingMark</span>
<a name="line-118"></a>
<a name="line-119"></a><a name="space"></a><span class='hs-definition'>space</span><span class='hs-layout'>,</span> <span class='hs-varid'>lineSeparator</span><span class='hs-layout'>,</span> <span class='hs-varid'>paragraphSeparator</span><span class='hs-layout'>,</span> <span class='hs-varid'>separator</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CharSet</span>
<a name="line-120"></a><span class='hs-definition'>space</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>Space</span>
<a name="line-121"></a><a name="lineSeparator"></a><span class='hs-definition'>lineSeparator</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>LineSeparator</span>
<a name="line-122"></a><a name="paragraphSeparator"></a><span class='hs-definition'>paragraphSeparator</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>ParagraphSeparator</span>
<a name="line-123"></a><a name="separator"></a><span class='hs-definition'>separator</span>
<a name="line-124"></a>          <span class='hs-keyglyph'>=</span> <span class='hs-varid'>space</span>
<a name="line-125"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>lineSeparator</span>
<a name="line-126"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>paragraphSeparator</span>
<a name="line-127"></a>
<a name="line-128"></a><a name="mathSymbol"></a><span class='hs-definition'>mathSymbol</span><span class='hs-layout'>,</span> <span class='hs-varid'>currencySymbol</span><span class='hs-layout'>,</span> <span class='hs-varid'>modifierSymbol</span><span class='hs-layout'>,</span> <span class='hs-varid'>otherSymbol</span><span class='hs-layout'>,</span> <span class='hs-varid'>symbol</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CharSet</span>
<a name="line-129"></a><span class='hs-definition'>mathSymbol</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>MathSymbol</span>
<a name="line-130"></a><a name="currencySymbol"></a><span class='hs-definition'>currencySymbol</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>CurrencySymbol</span>
<a name="line-131"></a><a name="modifierSymbol"></a><span class='hs-definition'>modifierSymbol</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>ModifierSymbol</span>
<a name="line-132"></a><a name="otherSymbol"></a><span class='hs-definition'>otherSymbol</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>OtherSymbol</span>
<a name="line-133"></a><a name="symbol"></a><span class='hs-definition'>symbol</span>
<a name="line-134"></a>          <span class='hs-keyglyph'>=</span> <span class='hs-varid'>mathSymbol</span>
<a name="line-135"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>currencySymbol</span>
<a name="line-136"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>modifierSymbol</span>
<a name="line-137"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>otherSymbol</span>
<a name="line-138"></a>
<a name="line-139"></a><a name="decimalNumber"></a><span class='hs-definition'>decimalNumber</span><span class='hs-layout'>,</span> <span class='hs-varid'>letterNumber</span><span class='hs-layout'>,</span> <span class='hs-varid'>otherNumber</span><span class='hs-layout'>,</span> <span class='hs-varid'>number</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CharSet</span>
<a name="line-140"></a><span class='hs-definition'>decimalNumber</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>DecimalNumber</span>
<a name="line-141"></a><a name="letterNumber"></a><span class='hs-definition'>letterNumber</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>LetterNumber</span>
<a name="line-142"></a><a name="otherNumber"></a><span class='hs-definition'>otherNumber</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>OtherNumber</span>
<a name="line-143"></a><a name="number"></a><span class='hs-definition'>number</span>
<a name="line-144"></a>          <span class='hs-keyglyph'>=</span> <span class='hs-varid'>decimalNumber</span>
<a name="line-145"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>letterNumber</span>
<a name="line-146"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>otherNumber</span>
<a name="line-147"></a>
<a name="line-148"></a><a name="dashPunctuation"></a><span class='hs-definition'>dashPunctuation</span><span class='hs-layout'>,</span> <span class='hs-varid'>openPunctuation</span><span class='hs-layout'>,</span> <span class='hs-varid'>closePunctuation</span><span class='hs-layout'>,</span> <span class='hs-varid'>initialQuote</span><span class='hs-layout'>,</span>
<a name="line-149"></a>  <span class='hs-varid'>finalQuote</span><span class='hs-layout'>,</span> <span class='hs-varid'>connectorPunctuation</span><span class='hs-layout'>,</span> <span class='hs-varid'>otherPunctuation</span><span class='hs-layout'>,</span> <span class='hs-varid'>punctuation</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CharSet</span>
<a name="line-150"></a>
<a name="line-151"></a><span class='hs-definition'>dashPunctuation</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>DashPunctuation</span>
<a name="line-152"></a><a name="openPunctuation"></a><span class='hs-definition'>openPunctuation</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>OpenPunctuation</span>
<a name="line-153"></a><a name="closePunctuation"></a><span class='hs-definition'>closePunctuation</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>ClosePunctuation</span>
<a name="line-154"></a><a name="initialQuote"></a><span class='hs-definition'>initialQuote</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>InitialQuote</span>
<a name="line-155"></a><a name="finalQuote"></a><span class='hs-definition'>finalQuote</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>FinalQuote</span>
<a name="line-156"></a><a name="connectorPunctuation"></a><span class='hs-definition'>connectorPunctuation</span>  <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>ConnectorPunctuation</span>
<a name="line-157"></a><a name="otherPunctuation"></a><span class='hs-definition'>otherPunctuation</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>OtherPunctuation</span>
<a name="line-158"></a><a name="punctuation"></a><span class='hs-definition'>punctuation</span>
<a name="line-159"></a>          <span class='hs-keyglyph'>=</span> <span class='hs-varid'>dashPunctuation</span>
<a name="line-160"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>openPunctuation</span>
<a name="line-161"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>closePunctuation</span>
<a name="line-162"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>initialQuote</span>
<a name="line-163"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>finalQuote</span>
<a name="line-164"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>connectorPunctuation</span>
<a name="line-165"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>otherPunctuation</span>
<a name="line-166"></a>
<a name="line-167"></a><a name="control"></a><span class='hs-definition'>control</span><span class='hs-layout'>,</span> <span class='hs-varid'>format</span><span class='hs-layout'>,</span> <span class='hs-varid'>privateUse</span><span class='hs-layout'>,</span> <span class='hs-varid'>surrogate</span><span class='hs-layout'>,</span> <span class='hs-varid'>notAssigned</span><span class='hs-layout'>,</span> <span class='hs-varid'>other</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CharSet</span>
<a name="line-168"></a><span class='hs-definition'>control</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>Control</span>
<a name="line-169"></a><a name="format"></a><span class='hs-definition'>format</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>Format</span>
<a name="line-170"></a><a name="privateUse"></a><span class='hs-definition'>privateUse</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>PrivateUse</span>
<a name="line-171"></a><a name="surrogate"></a><span class='hs-definition'>surrogate</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>Surrogate</span>
<a name="line-172"></a><a name="notAssigned"></a><span class='hs-definition'>notAssigned</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>cat</span> <span class='hs-conid'>NotAssigned</span>
<a name="line-173"></a><a name="other"></a><span class='hs-definition'>other</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>control</span>
<a name="line-174"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>format</span>
<a name="line-175"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>privateUse</span>
<a name="line-176"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>surrogate</span>
<a name="line-177"></a>    <span class='hs-varop'>`union`</span> <span class='hs-varid'>notAssigned</span>
</pre></body>
</html>