@@ -274,14 +274,16 @@ import Text.Printf (PrintfArg, formatArg, formatString)
274-- $replacement
274-- $replacement
276-- A 'Text' value is a sequence of Unicode scalar values, as defined
276-- A 'Text' value is a sequence of Unicode scalar values, as defined
277−-- in §3.9, definition D76 of the Unicode 5.2 standard:
278+-- <http://www.unicode.org/versions/Unicode5.2.0/ch03.pdf#page=35 §3.9, definition D76 of the Unicode 5.2 standard >.
278−-- <http://www.unicode.org/versions/Unicode5.2.0/ch03.pdf#page=35>. As
279−-- such, a 'Text' cannot contain values in the range U+D800 to U+DFFF
279+-- As such, a 'Text' cannot contain values in the range U+D800 to
280−-- inclusive. Haskell implementations admit all Unicode code points
280+-- U+DFFF inclusive. Haskell implementations admit all Unicode code
282+-- (<http://www.unicode.org/versions/Unicode5.2.0/ch03.pdf#page=13 §3.4, definition D10 >)
281−-- (§3.4, definition D10) as 'Char' values, including code points
283+-- as 'Char' values, including code points from this invalid range.
282−-- from this invalid range. This means that there are some 'Char'
284+-- This means that there are some 'Char' values that are not valid
283−-- values that are not valid Unicode scalar values, and the functions
285+-- Unicode scalar values, and the functions in this module must handle
284−-- in this module must handle those cases.
286+-- those cases.
286-- Within this module, many functions construct a 'Text' from one or
288-- Within this module, many functions construct a 'Text' from one or
287-- more 'Char' values. Those functions will substitute 'Char' values
289-- more 'Char' values. Those functions will substitute 'Char' values
@@ -295,8 +297,8 @@ import Text.Printf (PrintfArg, formatArg, formatString)
295-- range U+D800 through U+DFFF are used by UTF-16 to denote surrogate
297-- range U+D800 through U+DFFF are used by UTF-16 to denote surrogate
296-- code points, and so cannot be represented. The functions replace
298-- code points, and so cannot be represented. The functions replace
297-- invalid scalar values, instead of dropping them, as a security
299-- invalid scalar values, instead of dropping them, as a security
298−-- measure. For details, see Unicode Technical Report 36, §3.5:
300+-- measure. For details, see
299−-- <http://unicode.org/reports/tr36#Deletion_of_Noncharacters>)
301+-- <http://unicode.org/reports/tr36/#Deletion_of_Noncharacters Unicode Technical Report 36, §3.5 >.)
301equal :: Text -> Text -> Bool
303equal :: Text -> Text -> Bool
302equal Empty Empty = True
304equal Empty Empty = True