gpt4 book ai didi

haskell - 有没有办法断言编译器将函数识别为尾递归?

转载 作者:行者123 更新时间:2023-12-03 15:15:04 26 4
gpt4 key购买 nike

假设我在 Haskell 中编写了一个函数,并且我想断言它是尾递归的,并且它会被编译器优化。有没有办法做到这一点?

我知道在 Scala 中有一种方法可以使用 @tailrec注解。

Example:

import scala.annotation.tailrec

class Factorial2 {
def factorial(n: Int): Int = {
@tailrec def factorialAcc(acc: Int, n: Int): Int = {
if (n <= 1) acc
else factorialAcc(n * acc, n - 1)
}
factorialAcc(1, n)
}
}

最佳答案

至于 GHC 8.8.2 的尾递归不能通过任何 pragma 或关键字强制断言。

关于haskell - 有没有办法断言编译器将函数识别为尾递归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54993165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com