如果##语法在F#中好多了,为什么它不是默认值?

时间:2009-08-30 19:36:01

标签: syntax f#

我正在挖掘F#并喜欢用大量不同的方式编写代码。

但我很困惑 - 为什么非#light语法存在,如果它优于默认语法?

有谁知道为什么?

为什么不使#light默认并为那些想要的空格特定代码提供#dark选项?

3 个答案:

答案 0 :(得分:11)

这是最新CTP版本中的默认设置,它将在Visual Studio 2010的框中。

虽然大多数开发人员都认同#light是一种更愉快的编码体验,但不是每个人都分享你的爱。此外,具有空白感知代码也使得诸如代码生成MUCH之类的一些任务更加困难。 (想想lambda里面的lambdas。)

我怀疑非#light不会在野外讨论或看到,但对于那些来自沉重的OCaml背景或与#light有一些宗教问题的人肯定会存在。

答案 1 :(得分:4)

OCaml兼容性存在非轻量级语法。 F#直接从OCaml获取库的一些代码,并且应该与OCaml兼容。如果你想要移植代码,你只需使用非光。如前面的答案所述,#light将是最终版本中的默认值。

答案 2 :(得分:3)

万一你错过了,你可以在另一篇文章here on StackOverflow中找到关于#light语法的更多想法。它解释了非#light语法可能有趣的一些原因。