为什么弃用箭头符号?

时间:2009-08-27 21:50:03

标签: syntax f#

我正在阅读F#上一个非常膨胀的wikibook。在section on List Comprehensions的底部,它解释了可以使用箭头运算符而不是yield / yield!关键字。但它注意到这已被弃用。我想知道为什么?

2 个答案:

答案 0 :(得分:8)

据我所知,它并没有被弃用 - 至少MSDN上的Visual F# 2010 documentation仍在使用它。不推荐使用的是其他一些语法,其中包括->->>,而不是简单的for表达式。特别是,请参阅this post by Don Syme - quote:

  除紧凑序列表达式外,

>->>现已弃用。

     

现在不推荐使用两个简写->->> ,但序列表达式简称seq { for x in c -> f(x) }除外。在所有其他序列表达式中,使用全名yieldyield!

答案 1 :(得分:2)

我认为删除大部分用途 - >和 - >>是为了与C#保持一致。就个人而言,我认为这是一个错误。

Haskell理解之所以强大,部分原因在于它们如此简洁,就像设置符号一样 - F#语法最终会使事情变得难以理解,因为任何相对复杂的东西都会被分割成多行。