gpt4 book ai didi

functional-programming - 在 Scheme 中访问调用堆栈深度

转载 作者:行者123 更新时间:2023-12-01 11:32:41 25 4
gpt4 key购买 nike

为了演示尾递归的有效性,我想要一种在Scheme中动态访问调用堆栈深度的方法。

有没有办法做到这一点?如果没有,有没有办法在其他主要的函数式语言(OCaml、Haskell 等)中做到这一点?

最佳答案

没有标准的方法来做到这一点。

尾调用优化 == 没有调用堆栈增加。您可以通过编写通常会破坏堆栈并运行它的内容来演示它。

当发出深层错误信号时,您可能会得到一个简短的堆栈跟踪,但它的外观是特定于实现的。

在 CL 中,您可以跟踪函数,并且在尾调用优化后,您将看不到连续尾调用的输出。

惰性语言不需要尾递归,因为评估是需要的。

关于functional-programming - 在 Scheme 中访问调用堆栈深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30923539/

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