Sml 标准ML支持Unicode吗?

Sml 标准ML支持Unicode吗?,sml,polyml,Sml,Polyml,标准ML支持Unicode吗 我相信它没有,但找不到任何关于SML的权威文件来说明这种情况 你只需要回答“是”或“否”,但你必须知道一个事实。不要猜测,否则我相信答案。权威链接会更好。不太好。目前标准中的所有功能都是能够使用字符和字符串文本中的转义,并且至少允许Unicode作为char或可选的WideChar.char的基础字符编码。但是标准basis库没有规定对额外的Unicode感知功能的任何支持 特定的实现可能有额外的支持,您可能会发现一些第三方unicode库,但仅此而已(不幸的是,我

标准ML支持Unicode吗

我相信它没有,但找不到任何关于SML的权威文件来说明这种情况


你只需要回答“是”或“否”,但你必须知道一个事实。不要猜测,否则我相信答案。权威链接会更好。

不太好。目前标准中的所有功能都是能够使用字符和字符串文本中的转义,并且至少允许Unicode作为
char
或可选的
WideChar.char
的基础字符编码。但是标准basis库没有规定对额外的Unicode感知功能的任何支持


特定的实现可能有额外的支持,您可能会发现一些第三方unicode库,但仅此而已(不幸的是,我手头没有指针)。

这在很大程度上取决于您所说的“unicode”,它是许多方面的许多标准的集合。我还没有看到任何语言或系统完全支持Unicode,我甚至不知道这在所有细节中意味着什么

您当然可以在SML中使用UTF-8:发明这种编码是为了使ASCII应用程序更容易支持Unicode。这可能会导致它比Java中的UTF-16更好、更有效地表示Unicode,后者确实正式“支持Unicode”,但它也存在许多实际问题(如代理字符)


对于SML字符串中的UTF-8,一个问题是如何使用字符串文本。像Poly/ML这样的系统允许为
类型字符串
重新定义ML顶级漂亮打印机,同时也可以包装编译器以Unicode友好的方式处理字符串文本。这两项工作都是在基于Poly/ML的Isabelle/ML中完成的。因此,如果您将那个大定理证明环境作为ML开发平台,您就有某种内置的Unicode支持(通过所谓的“Isabelle符号”)。

至少目前不完全支持Unicode。然而,他们声称正在研究它,因此从现在到世界末日,我们可能会看到一个支持它的新版本:)UTF-8使ASCII数据可以轻松地与UTF-8程序一起工作,并且使ASCII应用程序不会被UTF-8数据严重破坏。然而,实际上更改任何假定ASCII数据与UTF-8正常工作的应用程序通常是一项艰巨的任务,因为此类应用程序几乎普遍假定固定字符宽度,而UTF-8具有可变宽度的字符。