如果Ascii运算符是可定义的,为什么不使用Unicode符号?
我相信我和许多人一样,很高兴终于有一种强大的语言与主流GUI/数据库/通信框架紧密相连 我不知道该在哪里发布,但这里似乎是最好的地方 我需要使用Unicode符号字符作为运算符或函数名。我想要糖,但我不需要 盖伊·斯蒂尔(Guy Steele)在《ACM通讯》(Communications of the ACM)中指出,当“*”作为乘法从Ascii中采用时,它是一个强制选择,但我的软件使用Unicode,所以我不再受Ascii的束缚 !$%&*+-./?,@^ | ~: 本地化的一部分包括本地程序员。为什么要限制可以在F#中定义的运算符集?它与C#和F#在标识符中接受许多Unicode标准并不正交 此外,F#很可能被用于逻辑、数学、物理学家等问题的符号处理。如果能直接映射到基本算子的语言中,工作就会容易得多。(F#和C#接受许多Unicode Isleter?以及IsDigit’?这是一个允许Unicode IsSymbol?作为优先级为*的运算符的请求,或者,由于“+”既是一元运算符又是二元运算符,我可以容忍+的优先级,并用括号分组来弥补差异 考虑到逻辑学家、数学家、物理学家等特定领域的需求,我更愿意使用数学符号编写符号微分器或积分器,而不是已经使用的运算符的Ascii置换如果Ascii运算符是可定义的,为什么不使用Unicode符号?,unicode,f#,operators,symbols,localization,Unicode,F#,Operators,Symbols,Localization,我相信我和许多人一样,很高兴终于有一种强大的语言与主流GUI/数据库/通信框架紧密相连 我不知道该在哪里发布,但这里似乎是最好的地方 我需要使用Unicode符号字符作为运算符或函数名。我想要糖,但我不需要 盖伊·斯蒂尔(Guy Steele)在《ACM通讯》(Communications of the ACM)中指出,当“*”作为乘法从Ascii中采用时,它是一个强制选择,但我的软件使用Unicode,所以我不再受Ascii的束缚 !$%&*+-./?,@^ | ~: 本地化的一部分包括本地程
- 逻辑:∀ ∃ ⇒ 李>
- 数学:∑ ∫ ∂李>
- 群论:≤ ≥ ∈ ∉李>
- 集合论:⊆ ⊇ ⊃ ∪ ∩李>
- 张量:⊗李>
运算符并将其转换是很简单的。但如何确保转换是编译的,而程序员可以看到自己的源代码?如果我正确地逐行映射,如何确保他们仍然可以指向变量并查看其值?其他语言,如Scala,确实允许来自ASCII范围之外的运算符—mathema垂直符号(Sm)和其他符号(So)您可能会感兴趣的是,哪种新的函数式编程语言包含Unicode字符集(以及许多其他功能)。特别是,请参阅包含一些示例代码的页面。有关此检查的有趣讨论:有一个数学(Unicode)中提供了F#的符号扩展 这允许您定义Unicode符号,例如:
let inline (~∑) xs = xs |> Seq.sum
let total = ∑myList
我添加了f#标签,但要这样做,我必须去掉数学标签。我认为这是一个公平的交易(这里的核心问题是f#人们现在可能关心的事情,而不是数学家需要思考的事情)另外,我的兴趣在F.Y.S.中很强,因为.NET可以用来创建任何不需要C++性能的应用程序。Project堡垒听起来很有意思。谢谢。这个项目似乎已经停止了。这个答案重复了布瑞恩的评论。