问题标签 [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 回答
10201 浏览

ruby-on-rails - 在下一行继续声明 WITH A COMMENT

如果我在 Ruby 中有一条语句要在下一行继续,通常我会在行尾添加一个反斜杠,如下所示:

但是,如果我对此有意见,它就不起作用:

有没有解决的办法?

(编辑:Squeegy 的解决方案是正确的,实际上,我知道你可以这样做,但我特别想知道是否有办法在与反斜杠相同的行上发表评论)。

0 投票
3 回答
323 浏览

ruby - 多次执行 ruby​​ 块的剩余部分

我正在制定一个框架来指定可能涉及选择的流程。我让它在每个选择都是一个岛屿的地方工作。我更喜欢子选择“分叉”父选择,以便正确考虑所有选项。

目前,它总是会选择“a”(它本身看起来更好)但会导致问题进一步下降。Action :one 永远不会考虑选项'b'。

我遇到过 callcc (根据我所读到的内容,不能移植到所有 Ruby 实现)和纤维(1.9 中的新功能,不能假定可用)作为可能被说服工作的东西,但我对有两个实现或者其中任何一个的黑魔法并不疯狂,真的。


我最终采取了简单的方法并将剩余的计算作为一个块传递。当我看到与现有结构的相似性时,这变得不那么痛苦了。我只是希望缩进不会脱节。

实际情况要复杂得多——有副作用,但它们包含在版本化的键值存储中。我也在列举所有可能性并选择最好的一个,所以它不能仅仅停留在成功上。

0 投票
10 回答
16161 浏览

lambda - 什么是通话/抄送?

我已经尝试过几次来掌握延续call/cc的概念。每一次尝试都是失败的。有人可以向我解释这些概念吗,最好用比维基百科或其他 SO 帖子中更现实的例子。

我有网络编程和 OOP 的背景。我也了解 6502 程序集,并与 Erlang 有过一次小小的交流。但是,我仍然无法理解 call/cc。

0 投票
4 回答
4529 浏览

functional-programming - 延续单子?

延续可以说是单子吗?它们是 monad 的子集还是仅仅是实现 monad 的一种方式?

编辑:或者也许我弄错了,单子是一个比延续更抽象的概念?(所以我真的在这里比较苹果和橘子)

0 投票
1 回答
784 浏览

asynchronous - Seam 环境中 jBPM 异步延续所需的简单解决方案

我有一个启动业务流程的 Seam 应用程序。目前没有其他需要协调的应用程序或组件,只有一个 Web 应用程序。

我想在业务流程中使用异步延续,但目前,如果我这样做,流程只是处于非活动状态,相关操作不会执行。

如何在 Seam 环境中“开启”异步延续?

我看过这篇文章,但找不到提到的任何类,有点卡住了!

0 投票
3 回答
33957 浏览

python - 协程 vs 延续 vs 生成器

coroutine 和 continuation 和 generator 有什么区别?

0 投票
2 回答
1702 浏览

scheme - 寻求人为的示例代码:延续!

所以我相信我现在至少在某种程度上理解了延续,这要归功于社区计划 wikiFixnum Days 中的 Learn Scheme

但是我想要更多的练习——也就是说,我可以在脑海中完成更多的示例代码(最好是人为的,所以没有多余的东西可以分散这个概念的注意力)。

具体来说,我想解决更多关于恢复和/或协同程序的问题,而不是仅仅使用它们来退出循环或其他任何东西(这相当简单)。

无论如何,如果你知道除了我上面链接的那些之外的好教程,或者如果你想发布你写的东西,这将是一个很好的练习,我将非常感激!

0 投票
3 回答
1008 浏览

assembly - 延续(如在 Smalltalk 中)和中断(如在汇编器中)有什么区别?

我正在努力理解延续的概念(在 Seaside with Smalltalk 中使用)。维基百科的一个片段说:

“......指的是一流的延续,它是使编程语言能够在任何时候保存执行状态并在程序中稍后返回到该点的结构......”

这难道不是另一种表达汇编程序员在编写中断时会做什么的方式吗?还是我完全错过了重点!

0 投票
4 回答
574 浏览

haskell - Scheme中没有显式突变的向后延续的最简单示例

我用 C# 编写了一个小型 Scheme 解释器,并意识到我实现它的方式很容易添加对正确延续的支持。

所以我添加了它们......但想“证明”我添加它们的方式是正确的。

然而,我的 Scheme 解释器不支持“变异”状态——一切都是不可变的。

所以很容易编写一个单元测试来暴露“向上”的延续:

但是,我还想编写一个单元测试来证明如果延续“转义”,那么它仍然有效:

但是,当然,上面只是测试“我得到了一个延续”......并不是说它实际上是一个有效的延续。

然而,我能找到的所有示例最终总是使用“set!”。来证明逃脱的延续。

什么是最简单的方案示例,它演示了在不依赖突变的情况下对向后延续的适当支持?

没有突变的向后延续有什么用吗?我开始怀疑它们不是,因为您只能使用它再次执行完全相同的计算……如果没有副作用,这将毫无意义。这就是 Haskell 没有延续的原因吗?

0 投票
2 回答
674 浏览

tomcat - 哪种方式最好,在 Java Servlet 中实现 Comets

我想编写一个使用 Comets 模式的应用程序 - 这是一个可以在服务器上发生事件时响应的请求,而不仅仅是对即时请求的响应。

用于此目的的最简单的应用程序服务器是:

1) Tomcat 及其 NIO 包
2) Jetty 及其延续
3) 或其他替代方案

我认为主要标准应该是:
- 易用性
- 可靠性
- 速度