Mono/IronPython中的尾调用优化

4

考虑到CLR支持尾调用优化,我想知道Mono是否支持TCO,因此Ironpython在Mono上运行是否支持TCO?


问题重复:https://dev59.com/g1DTa4cB1Zd3GeqPMMkQ请注意,如果您有编程方面的疑问,可以直接提问。 - skolima
不完全正确,我的问题是关于 Ironpython 运行在 Mono 上,而不是关于 Mono 本身。 - srean
如果Mono不支持TCO,那么IronPython在Mono上如何支持它,如果它是JIT功能?如果你问IronPython编译器是否使用.tailcall前缀-那不是一个与Mono相关的问题。 - skolima
我在回应你对我的问题是重复的担忧。我的问题是关于Ironpython在Mono上的,而你指出的那个重复的问题只涉及到Mono。我不知道Mono在尾递归方面的状态,而Ironpython问题取决于它,但并不等同于它。通过遵循@Marcelo的线索,我了解到Mono对TCO有一些有限的支持。问题是Ironpython是否利用了这种有限的支持仍然存在。希望这能澄清一些事情,我的问题不是重复的。 - srean
显示剩余4条评论
1个回答

4
我不能给出明确的答案,但是在论坛中有大量证据表明(例如这里),因为Mono没有使用调用者弹出参数的调用约定,所以它不能(轻松地)支持尾调用。有一些未解决的错误,在这里在这里,表明F#仍在等待此功能。

嗨@Marcelo,我还没有接受答案,以防一个权威的答案出现。我怀疑你的答案将是在不久的将来最终的答案。在这种情况下,是否有SO惯例可以接受,我是新来的,所以我不知道。 - srean
没有硬性规定。只需等一会儿,然后在您认为已经看到最佳答案时单击勾号即可。 - Marcelo Cantos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接