gpt4 book ai didi

scheme - `call/cc` 的函数参数是用 CPS 写的吗?

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

call/cc 的参数是一个以延续作为参数的过程。程序是用CPS写的吗?

最佳答案

没有。

CPS 风格的函数期望其他普通函数作为它们的参数,并且可以在尾部位置调用它们。这些功能在 Scheme 白话中被混淆地称为“延续”。我更喜欢使用“意外事件”来消除歧义。

call/cc 的参数函数需要一个实际的未定界的 continuation 作为它的参数。那个实际的延续不是函数。用一个值调用它会将那个值返回到该延续的返回上下文中,从而与延续一起保存——这是 w.r.t. 闻所未闻的壮举。简单的功能。

尾调用的函数将其结果返回到调用函数的调用者的上下文中。

被调用的 continuation 将提供的值返回给其创建 call/cc 调用的 上下文。因此它不是一个函数。因此,使用它的函数不是用 CPS 编写的。

关于scheme - `call/cc` 的函数参数是用 CPS 写的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57438008/

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