我想在Dart中尝试函数式编程中的一些算法和模式,但其中许多算法和模式严重依赖于递归,如果不使用递归,可能会导致严重的内存泄漏尾部呼叫优化(TCO),在实现一种语言时,这不是强制性的。
Dart团队是否有关于此主题的官方声明或文档中有关此主题的内容?我可能可以通过使用Dart的开发工具和概要分析来确定这是否存在于语言中,但是通过这种方式,我永远不能知道Dart团队关于这个主题的意图,因此存在理由这个问题的答案。
发布于 2021-02-25 16:55:08
Dart不支持尾部调用优化。目前没有添加它的计划。
主要原因是它是您需要的一个特性依赖为了使用,否则你会得到效率极低的代码,可能会溢出堆栈,而且由于JavaScript目前不支持尾部调用优化,该功能无法有效地编译到JavaScript。
https://stackoverflow.com/questions/66356967
复制相似问题