imz*_*hev 9 syntax multilingual haskell language-implementation language-specifications
我想在Haskell中用标识符中的Unicode字符(非拉丁语)编写一些教育代码.(因此,对于除英语之外的自然语言的说话者而言,标识符看起来不错且自然,在写作中没有使用拉丁字符.)因此,我开始寻找适当的Haskell实现来实现这一点.
但是语言规范中指定了哪个功能?在寻找符合要求的实现时,我将如何引用此功能?(已知哪些Haskell实现支持Unicode标识符?)
事实证明,一个Haskell实现确实接受了带有Unicode标识符的代码,而另一个Hatsell实现未能接受它.我希望如果有一种方法可以用语言特征切换的形式来形式化我的代码的这个要求,那么如果我或其他人试图运行我的代码,那么将立即清楚他的实现是否缺失所需的功能,因此他应该寻找另一个.(可能还有一个用于此功能的维基页面 - "Unicode标识符",它将列出哪些现有实现支持它,以便在需要时可以知道去哪里.)
(顺便说一下,我在这个问题上加上了一个"语法"标签,但我实际上认为它是一个lexing级别的问题,比语言的语法更低.这里有一个标签用于lexing的特征语言的级别,而不是语言的语法规范的功能?)
gee*_*aur 10
该网上报告下的文档将这个词位.它早期还注意到"Haskell使用Unicode字符集.但是,源程序目前偏向于早期版本的Haskell中使用的ASCII字符集."
实际编译器可能支持也可能不支持Unicode标识符.GHC确实如此,但你需要记住,Unicode代码点必须遵守与ASCII字符相同的规则:类型必须以一个代码点开头,该代码点被归类为大写或标题,变量为小写(尽管事实上这是放宽到字母而不是大写/标题;这可能值得从语言委员会要求澄清),运营商必须是标点符号或符号.(这意味着您不能使用阿拉伯语声明类型,例如,除非您在其他脚本中使用大写/标题的字符作为前缀.)
至于收集Unicode支持信息:虽然我不知道提供它的单个页面,但"unicode"
在Haskell Wiki上搜索可以在许多Haskell编译器中找到有关Unicode支持的信息.
归档时间: |
|
查看次数: |
869 次 |
最近记录: |