Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
vs2010 C++ 尾调用优化
考虑以下代码 int fac aux int x int res if x 1 return res else return fac aux x 1 res x int fac int x return fac aux x 1 int ma
c
visualstudio2010
visualc
tailcalloptimization
这是尾调用吗? (Javascript)
假设您有一个递归函数 例如 Blah prototype add function n this total n this children forEach function child child add n Is the child a
javascript
tailcalloptimization
什么推理导致“包含递归定义的序列表达式编译不正确”
问题尽管尾调用位置存在堆栈溢出 但仅限 64 位 https stackoverflow com q 35751350 1243762导致发现一个bug https github com Microsoft visualfsharp iss
F
tailrecursion
tailcalloptimization
如何查明 Prolog 是否执行尾调用优化
使用SWI Prolog Win x64 的开发版本 我为 a 编写了一个 DCG 谓词确定性词法分析器 托管在 github 上 https github com sebgod goldparser prolog 因此所有外部谓词都没有留
Prolog
tailrecursion
dcg
tailcalloptimization
Groovy 的尾递归
我编写了 3 个阶乘算法 我预计会因堆栈溢出而失败 没问题 我尝试尾递归调用 并将以前的算法从递归转换为迭代 它不起作用 但我不明白为什么 I use trampoline 方法 效果如我所料 def factorial factorial
Groovy
recursion
tailrecursion
factorial
tailcalloptimization
为什么这个 Haskell 程序中没有使用尾部调用优化?
以下程序会破坏堆栈 find first occurrence Eq b gt b gt b gt Int gt Int find first occurrence e i 1 find first occurrence e x xs i
Haskell
recursion
tailcalloptimization
C# 不发出“尾巴”是否存在技术原因。 CIL指令? [复制]
这个问题在这里已经有答案了 可能的重复 为什么 net C 不消除尾递归 https stackoverflow com questions 491376 why doesnt net c eliminate tail recursion
c
NET
MONO
compileroptimization
tailcalloptimization
引用传递阻碍了 gcc 消除尾部调用
See BlendingTable create and BlendingTable print 两者都有相同形式的尾递归 但是 whilecreate将被优化为循环 print不会并导致堆栈溢出 向下查看修复程序 这是我从一位 gcc 开
c
gcc
recursion
functionalprogramming
tailcalloptimization
向我解释尾部调用优化的重要意义是什么以及为什么 Python 需要它
显然 对于 Python 是否需要尾部调用优化 TCO 一直存在很大争议 当有人向 Guido 发送了一份 SICP 副本 http drj11 wordpress com 2009 04 30 python tail call optim
python
tailrecursion
tailcalloptimization
GCC 的尾调用优化有多“智能”?
我刚刚进行了一次讨论 其中讨论了以下两段代码 For 循环 include
c
gcc
recursion
Optimization
tailcalloptimization
为什么scala不进行尾调用优化?
只是玩延续 目标是创建将接收另一个函数作为参数和执行量的函数 并返回将应用参数给定次数的函数 实现看起来很明显 def n times T func T gt T count Int T gt T tailrec def n times c
scala
continuations
tailcalloptimization
为什么 Scala 编译器不会应用尾调用优化,除非方法是最终的?
为什么 Scala 编译器不会应用尾调用优化 除非方法是最终的 例如 这个 class C tailrec def fact n Int result Int Int if n 0 result else fact n 1 n result
scala
tailrecursion
tailcalloptimization
Clojure 中的自动 TCO
有没有办法在 Clojure 中定义自动尾部调用优化的函数 e g defrecur fact x if x 1 1 x fact dec x 将在内部翻译为 defn fact x loop n x f 1 if n 1 f recur
function
Clojure
Automation
tailrecursion
tailcalloptimization
是否可以在 GCC/Clang 上强制进行尾调用优化?
我正在尝试尽可能地用 C 语言编写函数风格的程序 我知道像 GCC Clang 这样的优秀编译器会默默地进行尾调用优化 但这并不能保证 是否有任何选项可以强制编译器进行尾调用优化 当然 当仅在其自身末尾调用时 Clang 13 mustta
c
Clang
tailcalloptimization
为什么 return/redo 在调用上下文中评估结果函数,但不评估块结果?
昨晚我了解了 redo 选项 当你return来自一个函数 它可以让你回来another函数 然后在调用站点调用该函数并从同一位置重新调用评估器 gt gt foo func a print a return redo func b pri
Return
rebol
tailcalloptimization
trampolines
rebol3