gpt4 book ai didi

lisp - call-with-current-continuation 只能用 lambda 和闭包来实现吗?

转载 作者:太空宇宙 更新时间:2023-11-03 18:33:14 24 4
gpt4 key购买 nike

有谁知道 call/cc 是否可以只用 lambda 和闭包来实现?

似乎 call/cc 中断了程序的流程(就像一个异常),但 lambda 和闭包不能那样做。因此我认为 call/cc 不能通过 lambda 和闭包来实现。

还有什么想法吗?

最佳答案

这个问题不是特别清楚,因为“只用 lambda 和闭包实现”到底是什么意思?

在任何情况下,通过手动写入 continuation passing style 可以在任何带有闭包的语言中使用延续。 .然后可以通过扩展编译器来自动翻译成这种形式,Lisps 通常允许在用户级别通过宏来实现。例如参见 cl-cont ,一个为 Common Lisp 实现延续的库,这是一种没有内置延续的语言。

像 Scheme 中的高效普适延续很可能在直接处理程序堆栈的较低级别上实现,但这不是必需的,只是一种优化。

关于lisp - call-with-current-continuation 只能用 lambda 和闭包来实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3811448/

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