Unicode版本的show类型

时间:2016-01-14 01:46:26

标签: haskell unicode

Haskell类型类show不支持unicode,但语言的其余部分支持unicode。我无法找到unicode的标准替代类型类。 Haskell有unicode show的版本吗?

How to make Haskell or ghci able to show Chinese characters and run Chinese characters named scripts?

中描述了此属性

1 个答案:

答案 0 :(得分:4)

我认为这个问题不合适。在show :: (Show a) => a -> String中,String[Char]的类型同义词,而Char是足够智能的数据类型来表示任何Unicode字符。

  

字符类型Char是一个枚举,其值表示Unicode(或等效的ISO / IEC 10646)字符(有关详细信息,请参阅http://www.unicode.org/)。该集扩展了ISO 8859-1(Latin-1)字符集(前256个字符),它本身是ASCII字符集(前128个字符)的扩展。 Haskell中的字符文字类型为Char。

当您选择简单的数据类型时,这是一种简单的功能,对于从其他语言移民的人来说,这可能会让人感到惊讶,因为默认字符串类型只能代表ASCII或UTF-16或其他任何垃圾

因此,在这个意义上show已经 show的Unicode版本。无论String是否是Unicode的有效表示,完全是另一个问题。