应该在vNext中实现F#语言规范中的哪个保留关键字?

时间:2009-11-26 20:14:34

标签: f#

现在FSharp v1已进入Beta版,现在可以询问vNext。

FSharp language spec定义了以下保留关键字:

atomic break checked component const constraint constructor    
continue eager fixed fori functor include    
method mixin object parallel params process protected pure    
sealed tailcall trait virtual volatile 

您希望看到哪些内容已实施?为什么?

请回答每个答案一个关键字。

5 个答案:

答案 0 :(得分:7)

特性,假设特征与Scala特征相似。

答案 1 :(得分:4)

我的投票是尾巴。

如果我理解正确的意图,这将是一个标记递归函数的关键字,作者将打算尾递归。如果由于某种原因编译器无法遵守,诊断消息可能会有很大的帮助。

现在看来,如果你没有正确构造你的递归函数,第一次你会被告知这是StackOverflow异常(没有平移)

答案 2 :(得分:2)

我在某种程度上无法关注您的链接,但如果atomic适用于内置软件事务内存,这是我的最爱。

答案 3 :(得分:1)

很好的问题,但很难回答。您无法准确猜出每个保留关键字的用途,对吗?

从我的角度来看,我可以看到fixed(固定大小的缓冲区)的一些有用的用例。

答案 4 :(得分:0)

我投票给eager,如果这意味着默认情况下评估是懒惰的(例如在Haskell中,但与当前的F#不同)。

相关问题