由于.net有 TailCall操作码, 如果F#函数是真正的尾递归,这可以用来确定吗? 如果是真的,是否有人制作了一个识别尾部和非尾部功能的VS插件? 有关F#编译尾调用的摘要,请参阅F#团队博客上
如果F#函数是真正的尾递归,这可以用来确定吗?
如果是真的,是否有人制作了一个识别尾部和非尾部功能的VS插件?
有关F#编译尾调用的摘要,请参阅F#团队博客上的 this blog post.简而言之,
>直接递归尾调用通常转换为循环.
>相互递归和间接非递归尾调用通常转换为.NET尾调用.
但请查看所有血腥细节的完整帖子.