腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(5434)
视频
沙龙
1
回答
Dart
是否
具有
尾部
呼叫
优化
(
TCO
)
功能
?
、
、
、
我想在
Dart
中尝试函数式编程中的一些算法和模式,但其中许多算法和模式严重依赖于递归,如果不使用递归,可能会导致严重的内存泄漏
尾部
呼叫
优化
(
TCO
),在实现一种语言时,这不是强制性的。
Dart
团队
是否
有关于此主题的官方声明或文档中有关此主题的内容?我可能可以通过使用
Dart
的开发工具和概要分析来确定这
是否
存在于语言中,但是通过这种方式,我永远不能知道
Dart
团队关于这个主题的意图,因此存在理由这个问题的答案。
浏览 38
提问于2021-02-25
得票数 0
回答已采纳
1
回答
Mono (2.11)上F#的
尾部
调用
优化
的当前状态是什么?
、
、
、
、
Mono (2.11)上
尾部
呼叫
优化
(
TCO
)实施的当前状态是什么?在某个地方读到,所有的代码库都需要修改,以使用一个调用-弹出-参数约定。此更改的状态是什么?
浏览 5
提问于2012-03-07
得票数 8
3
回答
是否
有可能在WebKit中检测
尾部
调用
优化
?
、
、
、
我知道我可以使用streams,promises和setTimeout,但我只想编写触发
尾部
调用
优化
的代码。到目前为止,似乎只有实现了
尾部
调用
优化
(
TCO
)。除了了解原理之外,有没有办法检查我的代码
是否
会触发
TCO
,无论是使用devtools还是通过检查Webkit编译器的输出?
浏览 0
提问于2015-11-27
得票数 7
3
回答
尾部
调用和
尾部
递归有什么区别?
、
我知道尾递归是函数对自身进行
尾部
调用的一种特殊情况。但是我不明白
尾部
调用和
尾部
递归有什么不同。在
具有
实现
TCO
(
尾部
调用
优化
)的“正确
尾部
递归”语言中,如Scheme,这意味着
尾部
调用和
尾部
递归不会消耗堆栈或其他资源。在编译器不能
优化
尾递归语言中,程序可能会在堆栈之外运行并崩溃。
浏览 0
提问于2012-08-21
得票数 19
5
回答
Ruby
是否
执行
尾部
调用
优化
?
、
、
函数式语言导致使用递归来解决许多问题,因此许多函数式语言执行
尾部
调用
优化
(
TCO
)。
TCO
导致从另一个函数(或自身,在这种情况下,此
功能
也称为尾递归消除,它是
TCO
的子集)对函数的调用,作为该函数的最后一步,不需要新的堆栈帧,从而减少了开销和内存使用。显然,Ruby“借用”了函数式语言(lambdas、map等函数等)中的一些概念,这让我很好奇: Ruby会执行尾调用
优化
吗?
浏览 5
提问于2009-05-05
得票数 93
回答已采纳
1
回答
Google应用程序脚本(GAS)
是否
支持正确的尾调用或尾调用
优化
?
、
、
、
我想知道花时间为Google脚本做
是否
值得。据推测, (适当的)尾调用
优化
来自规范。但是,有一些认为V8实际上没有实现它: PTC只处理堆栈操作,而
TCO
将递归函数重写为迭代函
浏览 15
提问于2022-04-14
得票数 0
回答已采纳
1
回答
Mono/Ironpython中的
尾部
调用
优化
、
、
、
鉴于CLR支持
尾部
调用
优化
,我想知道Mono以及运行在Mono上的Ironpython
是否
支持
TCO
?
浏览 3
提问于2010-10-31
得票数 4
回答已采纳
4
回答
向我解释为什么
尾部
调用
优化
有什么大不了的,以及为什么Python需要它。
、
、
显然,关于Python
是否
需要
尾部
调用
优化
(
TCO
),存在着很大的争议。当有人的时候,这件事到了极点,因为他没有“明白”。我和在同一条船上。我理解尾叫
优化
的概念。为了使我更容易理解这一点,使用
TCO
将大大简化的代码片段是什么?
浏览 6
提问于2009-05-20
得票数 20
回答已采纳
4
回答
尾部
呼叫
优化
(
TCO
)后的性能测量
我的问题是:3.)假设一些编译器做了
TCO
,那么我们启用它,那么怎样才能发现编译器实际上已经做了
TCO
呢?
浏览 0
提问于2008-11-22
得票数 0
1
回答
是否
优化
了析因尾调用(
TCO
)的延拓式实现?
、
下面是两个阶乘实现function fact(n) {} iftail_fact(n,a,ret) { ret(a) ; tail_fact(n-1,n*a,ret) ;本教程似乎表明,第二个版本也是
TCO
,但是第二个版本返回的最后一个内容是undefined,根据的说法,它的调用不在
尾部
位置。这就是第二次
浏览 3
提问于2017-04-10
得票数 0
回答已采纳
5
回答
是否
对任何JavaScript引擎
尾部
呼叫
(
TCO
)进行了
优化
?
、
、
我有一个用JavaScript实现的尾递归寻径算法,我想知道
是否
有(所有?)浏览器可能会得到堆栈溢出异常。
浏览 2
提问于2010-09-08
得票数 92
回答已采纳
2
回答
Java中的尾调用
优化
、
、
、
、
从Java 8开始,Java不提供尾叫
优化
(
TCO
).通过对它的研究,我了解了,即: PS:不确定Java的最新版本(截至目前的Java 11 )
是否
有
TCO
。备注: 我知道
TCO
处于待办状态,而且优先级较低,但我想知道为什么Jav
浏览 2
提问于2018-11-17
得票数 42
回答已采纳
1
回答
如何在ES5中对递归匿名函数应用
TCO
(
尾部
调用
优化
、
、
、
如果我可以
tco
一个命名的递归函数,应该有一种方法可以
tco
匿名递归function.If,下面是我的递归函数和
TCO
函数,请解释一下如何做到这一点。function recursive(length, callback) { var args = arguments;} else { }} function
浏览 0
提问于2016-09-19
得票数 3
1
回答
Idris使用尾调用
优化
吗?
、
Scala有尾调用
优化
(
TCO
),如果编译器不能使用
TCO
优化
递归函数,我可以告诉编译器停止。例如,请参见 。Nil => Nil} 对于不是尾递归的
浏览 2
提问于2020-06-30
得票数 4
3
回答
为什么不能在基于JVM的Lisp中
优化
尾部
调用?
、
、
、
、
主要问题:我认为
尾部
调用
优化
(
TCO
)最重要的应用是将递归调用转换为循环(在递归调用
具有
特定形式的情况下)。更准确地说,当翻译成机器语言时,这通常会翻译成某种类型的跳转。编译器必须弄清楚如何实现
TCO
,而不是它编译到的机器。 相关问题: Clojure可以将看似递归的代码转换为循环:如果程序员将对函数的
尾部
调用替换为关键字recur,它的行为就像是在执行总体拥有成本。但是,如果可以让编译器识别
尾部
调用--例如,SBCL和CCL就是这样做的--那么为什么Clojure编译
浏览 62
提问于2013-10-19
得票数 22
回答已采纳
3
回答
什么可以符合潜在的尾调用递归(
TCO
)
优化
或
尾部
递归消除(TRE)。
、
、
简短的问题是:如果编译器或解释器支持尾调用递归
优化
(
TCO
)或尾递归消除(TRE),什么才能满足它的要求?但我不认为它是尾递归的,对吗?def fact(n, acc=1) # just assuming we pass in non-ne
浏览 0
提问于2016-01-10
得票数 3
3
回答
为什么g++
尾部
调用没有
优化
,而gcc在
优化
?
我想检查g++
是否
支持
尾部
调用,所以我编写了这个简单的程序来检查它:In normal call version, the stack top is: 0120 它不仅
优化
了第一个
尾部
调用,还
优化
了第二个
尾
浏览 4
提问于2011-09-27
得票数 10
回答已采纳
2
回答
Common Lisp中一种高效的集合函数
、
、
、
我认为它是
尾部
递归的。我使用的是sbcl。任何帮助都是最好的。
浏览 1
提问于2010-12-19
得票数 5
回答已采纳
2
回答
为什么这会使堆栈溢出而不是使用尾递归?
我在Clojure中定义了以下函数。(defn same [x] x) (defn recurse-n-times [input function n] input )下面是递归函数的一些输出: (recurse-n-times 0 inc 5) ; returns
浏览 3
提问于2013-09-07
得票数 4
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Flutter 性能优化之Isolates
Dart重启!Dart 2正式发布,目标成为移动与Web开发主流语言
Dart 2 正式发布:针对客户端开发进行了优化
庖丁解牛之——Flutter for Web
Flutter Web在美团外卖的实践
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券