38得票2回答
什么是尾递归消除?

Steve Yegge 在一篇博客文章中提到了它,但我不知道它是什么意思,有人能告诉我吗? 它是否与尾调用优化是同一件事?

104得票4回答
Haskell是否具有尾递归优化?

今天我在Unix中发现了"time"命令,想用它来检查Haskell中尾递归和普通递归函数运行时间的差异。 我编写了以下函数:--tail recursive fac :: (Integral a) => a -> a fac x = fac' x 1 where fac...

8得票3回答
编译器在递归程序中的优化

我从尾递归优化问题的提问中得到了启发,什么是尾递归优化? 于是,我决定看看如何在纯C中实现它。 所以,我编写了两个阶乘程序,第一个可以应用尾递归优化。我将这个函数称为fact(n, 1)。 unsigned long long int fact(int n, int cont) { ...

17得票1回答
Clojure中的尾调用优化?

能否有人将这段(plt)Scheme代码改写成Clojure?(define (f n) (printf "(f ~a)~n" n) (g n)) (define (g n) (printf "(g ~a)~n" n) (h n)) (define (h n) ...

20得票8回答
JVM实现之间的差异

除了许可证之外,JVM实现在哪些方面有所不同?每个JVM都实现泛型处理的类型擦除吗? 以下是各个JVM之间的差异: JRockit IBM JVM SUN JVM Open JDK Blackdown Kaffe ......其中一个处理尾调用优化吗?

10得票2回答
在使用Eventually工作流时,缺乏尾调用优化是否是一个障碍?

我正在为 Xbox 的开发使用改编后的 F# 规范中 Eventually 工作流。Xbox 上的 .NET 框架似乎不支持尾调用,因此在编译时必须禁用尾调用优化。 虽然一开始看起来这个限制会防止在计算表达式中使用任何形式的循环,但我最初认为“递进”可以避免这个问题:计算表达式中的递归函数 ...

98得票5回答
为什么JVM仍不支持尾调用优化?

在JVM中是否有防止尾调用优化两年后,似乎已经有原型 实现,而且MLVM已经将该特性列为“proto 80%”一段时间了。 难道Sun / Oracle方面没有支持尾调用的积极兴趣,还是仅仅因为尾调用被“[...]注定在每个特性优先级列表上都排名第二 [...]”,如JVM Language...

29得票2回答
Mathematica中的尾递归优化?

在回答另一个SO问题时,我遇到了一些关于Mathematica尾递归的奇怪行为。Mathematica文档提示可能会执行尾调用优化。但我的实验结果相互矛盾。例如,对比以下两个表达式。第一个由于堆栈耗尽而导致7.0.1内核崩溃。请注意,这里仅供参考:answer to another SO qu...

10得票5回答
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...

7得票2回答
我的重写foldl函数是否已经优化?

我只是两天前开始学习Haskell,所以我还不确定如何优化我的代码。 作为一项练习,我已经重新编写了foldl和foldr(这里我将提供foldl,但foldr相同,将last替换为head,将init替换为tail)。 代码如下: module Main where myFo...