tail-call-optimization

tail-call-optimization

文章 0 浏览 5

实例方法中的 CIL (MSIL) 尾调用递归

背景:我正在为一个学校项目编写 .NET 编译器(与 C# 非常相似)。我当前尝试添加的功能之一是方法内的尾调用递归。 更多信息:在 CIL 中,“this”被…

葬﹪忆之殇 2025-01-04 00:30:50 1 0

是否可以使用序列尾部调用优化 f# 中的分组函数?

这是我的尝试,它没有优化尾部调用,因为我需要处理枚举器: let Group func seed (items : seq) = let rec some (i : IEnumerator) state = seq { tr…

锦上情书 2024-12-28 08:59:09 1 0

是否可以使用延续来使 FoldRight 尾部递归?

以下博客文章展示了如何在 F# foldBack 中 可以使用连续传递风格进行尾递归。 在 Scala 中,这意味着: def foldBack[T,U](l: List[T], acc: U)(f: (T…

人│生佛魔见 2024-12-21 13:03:59 1 0

如何实现 TCO ed 递归

我一直在研究递归和 TCO。看来 TCO 会使代码变得冗长并且还会影响性能。例如,我已经实现了接受 7 位电话号码并返回所有可能的单词排列的代码,例如 4…

无边思念无边月 2024-12-17 17:12:50 2 0

我的 scala 代码虽然通过了 @tailrec,但却没有获得 TCO 认证

我正在研究 scala TCO 并编写了以下代码, import scala.annotation.tailrec final def tailReccursionEx(str:String):List[String]={ @tailrec def d…

吃→可爱长大的 2024-12-17 08:14:41 2 0

尾递归问题

我们正在 Scala 中试验并行集合,并想检查结果是否有序。为此,我在 REPL 上编写了一个小函数来对我们正在生成的非常大的列表进行检查: def isOrdere…

隐诗 2024-12-10 22:09:46 3 0

我如何转换这个 scala 函数以进行优化

使用模式匹配确定列表的 lat 元素的代码: @tailrec def last_rec[A](list : List[A]) : A = { list match { case (x :: Nil) => x case (_ :: xs) =>…

我爱人 2024-12-04 09:54:36 2 0

Groovy 的尾递归

我编写了 3 个阶乘算法: 我预计会因堆栈溢出而失败。没问题。 我尝试尾递归调用,并将以前的算法从递归转换为迭代。它不起作用,但我不明白为什么。 …

勿忘初心 2024-12-04 03:06:24 5 0

C# 不发出“尾部”是否存在技术原因? CIL指令?

可能的重复: 为什么.net/C#不消除尾递归? 以下 C# 代码: using System; namespace TailTest { class MainClass { public static void Main (strin…

羅雙樹 2024-11-30 11:12:06 4 0

可以优化 C# 尾部调用的架构

阅读 博客条目Eric Lippert,我看到了这个片段: ...你将永远循环(如果你在一个架构上 可以优化尾部调用)或耗尽堆栈并崩溃 流程。 我知道编译器可以…

匿名。 2024-11-30 06:10:05 4 0

为什么这个 F# 序列函数不是尾递归?

披露:这个问题出现在 FsCheck 中,FsCheck 是我维护的一个 F# 随机测试框架。我有一个解决方案,但我不喜欢它。此外,我不明白这个问题 - 它只是被规…

耶耶耶 2024-11-10 12:50:54 6 0

为什么这个 F# 内部函数不是尾递归的?

如果我使用非常高的初始 currentReflection 值调用此函数,则会出现堆栈溢出异常,这表明该函数不是尾递归的(正确吗?)。我的理解是,只要递归调用…

风向决定发型 2024-10-21 17:45:40 12 0

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 f…

乱了心跳 2024-10-20 17:23:58 9 0

选择加入 JVM 中基于每种语言的尾部调用支持?

虽然尾部调用优化看起来不会被添加为常见的优化技术,特别是在 Sun 被收购之后,但从技术上来说,让在 VM 上运行的语言自行决定编译器是否发出 是不可…

兔姬 2024-10-18 20:51:58 11 0

Scheme 中的递归函数总是尾部调用优化吗?

我读过一些关于Scheme 中的尾部调用优化的内容。但我不确定我是否理解尾调用的概念。如果我有这样的代码: (define (fac n) (if (= n 0) 1 (* n (fac …

Spring初心 2024-10-17 16:26:11 8 0
更多

推荐作者

5397313

文章 0 评论 0

烟沫凡尘

文章 0 评论 0

一个破名字

文章 0 评论 0

萌︼了一个春

文章 0 评论 0

当爱已成负担

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文