Mono (2.11) 上 F# 的尾调用优化的当前状态是什么? [英] What is the current state of tail-call-optimization for F# on Mono (2.11)?

查看:28
本文介绍了Mono (2.11) 上 F# 的尾调用优化的当前状态是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Mono (2.11) 上的尾调用优化 (TCO) 实施的当前状态是什么?在某处阅读需要修改所有代码库以使用 callee-pops-arguments 约定的地方.这种变化的状态是什么?ARM/Linux 端口在这件事上是最新的吗?

What is the current state of Tail Call Optimization (TCO) implementation on Mono (2.11) ? Read somewhere that all the codebase would need to be modified to use a callee-pops-arguments convention. What is the status of this change ? Is the ARM/Linux port up to date on this matter ?

谢谢!

推荐答案

Tail 调用肯定适用于 linux 上的单声道 - 使用测试

Tail calls definitely work on mono on linux - tested using

let rec f a = f (a+1)

没有崩溃 - 在 Mono 2.10.2 上测试

which didn't crash - tested on Mono 2.10.2

使用来自 Brian 的链接进行测试 - https://bugzilla.novell.com/show_bug.cgi?id=476785

Tested with link from Brian - https://bugzilla.novell.com/show_bug.cgi?id=476785

尽管生成了 .tail 指令,但它还是在 Mono 2.10.2 上崩溃了

which crashes on Mono 2.10.2 despite generating .tail instructions

这篇关于Mono (2.11) 上 F# 的尾调用优化的当前状态是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆