问题标签 [continuations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
892 浏览

scheme - PLTScheme 如何捕捉错误?

我对 PLTScheme 中的“错误”功能感到惊讶。如果我除以零,它不会进行任何其他递归,只是从调用堆栈中出来并给我一个错误。

在所有功能之前是否有隐含的延续?错误会丢弃调用堆栈吗?有人对此有任何想法吗?

0 投票
2 回答
2105 浏览

javascript - Javascript CPS(延续传递风格)实现

由于IBM Developer Works 中有一篇关于 CPS (continuation pass style) 的文章,我试图不使用“return”。

没有 CPS

过渡

函数的其余部分

带 CPS

问题

循环在函数的其余部分结束。

解决办法是什么?

0 投票
1 回答
964 浏览

functional-programming - 有人可以解释一下这个计划的延续吗?

我正在学习延续,但我无法理解这段代码。为什么会进入无限循环?

0 投票
2 回答
224 浏览

functional-programming - 我可以在 Scheme 中使用延续来实现三个函数的协同程序吗?

是否可以在此处添加另一个函数 procC 以便评估顺序为 procA->procB->procC->procA ... ?

0 投票
2 回答
3241 浏览

scheme - 帮助理解 Scheme 中的 Continuations

我一直在与The Little Schemer一起学习 Scheme 并在我的环境中使用 PLT-Scheme。

Little Schemer在递归方面为我提供了极大的帮助(现在对我来说很简单),但我被困在书中介绍“收集器”并将函数作为一个整体称为延续的部分。

这是他们使用的示例代码。我理解递归元素,但我被困住了,特别是在 lambda 函数上——我的头脑无法遵循路径以及该 lambda 函数的参数是如何设置的(因为它们唯一的调用是在递归中再次调用它们,所以有在函数体内没有具体使用)。

如果有人可以通过将函数递归到 lambda 收集器中或多或少地给我分解计算路径,那可能会对我有所帮助。

先感谢您!!

0 投票
2 回答
652 浏览

scheme - CPS 转换后的行政重述究竟是什么?

在 Scheme 和CPS转换的上下文中,我在确定管理redexes (lambdas) 到底是什么时遇到了一些麻烦:

  • CPS 转换引入的所有lambda 表达式
  • 只有CPS 转换引入的 lambda 表达式,但如果您“手动”或通过更智能的 CPS 转换器进行转换,您就不会编写

如果可能,欢迎提供良好的参考。

0 投票
2 回答
7148 浏览

scala - 使用 Scala 延续实现收益(收益回报)

如何yield return使用 Scala 延续来实现 C#?我希望能够以Iterator相同的风格编写 Scala 。在这篇 Scala 新闻帖子的评论中有一个刺,但它不起作用(尝试使用 Scala 2.8.0 beta)。相关问题中的答案表明这是可能的,但尽管我已经玩了一段时间的定界延续,但我似乎无法完全理解如何做到这一点。

0 投票
1 回答
913 浏览

haskell - Haskell 与 ContT、callCC、when 混淆

继续寻求理解 ContT 和朋友的意义。请考虑下面的(荒谬但说明性的)代码:

此代码无法编译。但是,如果用when它下面的注释 k 调用替换 the,它会编译。这是怎么回事?

或者,如果我注释掉 x2 行,它也会编译。???

显然,这是原始代码的提炼版本,因此所有元素都有一个目的。感谢有关正在发生的事情以及如何解决它的解释性帮助。谢谢。

0 投票
1 回答
1040 浏览

java - 检测客户端已与码头服务器断开连接(使用延续)

我正在使用码头延续,我想知道是否可以检测到客户端已与服务器断开连接(关闭与码头服务器的连接)。

谢谢,阿尔弗雷德

0 投票
4 回答
1648 浏览

scheme - 计划提前“短路退货”?

我试图找出如何在使用顶级ifcond类似构造的情况下在方案过程中进行“提前返回”。

例如,在上面的代码中,如果满足条件,我想win返回,否则返回 0。但是,发生的情况是,无论条件的结果如何,过程都将始终返回 0 。testwhenwhen

我以这种方式构造我的代码的原因是因为在这个过程中我需要进行大量复杂的检查(多个块类似于let*示例中的块)并且将所有内容放在一个大cond文件中会非常笨拙。