String != [Char]

Christian Siefkes christian at siefkes.net
Mon Mar 26 14:29:36 CEST 2012


On 03/26/2012 01:26 PM, Gabriel Dos Reis wrote:
> It is not the precision of Char or char that is the issue here.
> It has been clarified at several points that Char is not a Unicode character,
> but a Unicode code point.  Not every Unicode code point represents a
> Unicode code character, and not every sequence of Unicode code points
> represents a character or a sequence of Unicode character.

What do you mean? Every Unicode character corresponds to one code point, and
every code point in the range 0 to 0x10FFFF (excluding the range 0xD800 to
0xDFFF which is reserved for surrogate pairs in UTF-16, and a handful of
"noncharacters", see
http://en.wikipedia.org/wiki/Mapping_of_Unicode_characters#Special_code_points
) corresponds to one character.

Maybe your criticism is that Char does not explicitly prevent these special
code points from being assigned? While true, that seems a relatively minor
matter. Moreover, a future revision of the Haskell standard could easily
declare that a assigning a "forbidden" character results in an error/bottom
if that is so desired.

Best regards
	Christian

-- 
|------- Dr. Christian Siefkes ------- christian at siefkes.net -------
| Homepage: http://www.siefkes.net/ | Blog: http://www.keimform.de/
|    Peer Production Everywhere:       http://peerconomy.org/wiki/
|---------------------------------- OpenPGP Key ID: 0x346452D8 --
Linux is like living in a tipi: no windows, no gates, Apache inside.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://www.haskell.org/pipermail/haskell-prime/attachments/20120326/ef7cafc5/attachment.pgp>


More information about the Haskell-prime mailing list