gpt4 book ai didi

haskell - 在 Haskell 实现中是否允许使用 Unicode 标识符是在哪里指定的?

转载 作者:行者123 更新时间:2023-12-02 01:37:27 25 4
gpt4 key购买 nike

我想用 Haskell 编写一些教育代码,并在标识符中使用 Unicode 字符(非拉丁语)。 (这样,对于使用英语以外的自然语言(在写作中不使用拉丁字符)的人来说,标识符看起来既漂亮又自然。)因此,我开始寻找一个合适的 Haskell 实现来实现这一点。

但是这个特性在语言规范中是在哪里指定的呢?在寻找符合要求的实现时,我将如何引用此功能? (已知哪些 Haskell 实现实际上支持 Unicode 标识符?)

事实证明,一个 Haskell 实现确实接受了我的带有 Unicode 标识符的代码,而另一个则未能接受。我希望有一种方法可以形式化我的代码的这一要求,也许以语言功能切换的形式,这样,如果我或其他人尝试运行我的代码,就会立即清楚他的实现是否丢失所需的功能,因此他应该寻找另一个功能。 (还可能有一个关于此功能的 wiki 页面——“Unicode 标识符”,其中会列出哪些现有实现支持它,以便在需要时知道该去哪里。)

(顺便说一句,我在这个问题上贴了一个“语法”标签,但我实际上认为这是一个词法分析级别的问题,比语言的语法级别更低。这里有一个特性标签吗?是一种语言的词法级别,而不是一种语言的语法规范的特征?)

最佳答案

Online Report将此记录在Lexemes下。它还很早就指出“Haskell 使用 Unicode 字符集。但是,源程序目前偏向于 Haskell 早期版本中使用的 ASCII 字符集。”。

实际编译器可能支持也可能不支持 Unicode 标识符。 GHC 确实如此,但您需要记住,Unicode 代码点必须遵循与 ASCII 字符相同的规则:类型必须以代码点开头,该代码点被归类为大写或标题大写,变量为小写(尽管事实上,这对字母顺序是宽松的,而不是大写/标题大写;这可能值得语言委员会进行澄清),运算符必须是标点符号或符号。 (例如,这意味着您不能用阿拉伯语声明类型,除非您在其他脚本中使用大写/标题大写的字符作为前缀。)

关于收集 Unicode 支持信息:虽然我不知道有哪个页面提供该信息,但搜索 "unicode"Haskell Wiki查找有关许多 Haskell 编译器中 Unicode 支持的信息。

关于haskell - 在 Haskell 实现中是否允许使用 Unicode 标识符是在哪里指定的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5517412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com