问题标签 [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 投票
2 回答
1368 浏览

scala - 不理解 Scala 的定界延续的类型 (A @cpsParam[B,C])

我正在努力理解当一个值具有类型时它的确切含义A @cpsParam[B,C]以及在使用定界延续设施时我应该为我的值分配什么类型的这种形式。

我查看了一些来源:

http://lamp.epfl.ch/~rompf/continuations-icfp09.pdf

http://www.scala-lang.org/node/2096

http://dcsobral.blogspot.com/2009/07/delimited-continuations-explained-in.html

http://blog.richdougherty.com/2009/02/delimited-continuations-in-scala_24.html

但他们并没有给我太多的直觉。在最后一个链接中,作者试图给出一个明确的解释,但无论如何都不够清楚。

这里的 A 代表计算的输出,也是其延续的输入。B 代表该延续的返回类型,而 C 代表其“最终”返回类型——因为 shift 可以对返回值进行进一步处理并更改其类型。

我不明白“计算的输出”、“继续的返回类型”和“继续的最终返回类型”之间的区别。它们听起来像同义词。

0 投票
3 回答
1027 浏览

scala - 如何使用 Continuations 拆分和调度异步控制流?

我有一个异步控制流,如下所示:

我如何将这个流分成几个部分(延续)并按顺序将它们分派给不同的参与者(或线程/任务),同时保持整体状态?

任何提示表示赞赏,谢谢

0 投票
1 回答
768 浏览

eclipse - eclipse中的Scalac命令行参数?

Scala 现在包含延续插件(耶),但必须通过将“-P:continuations:enable”传递给 scala 编译器来启用。有没有办法将任意参数传递给 scalac 用于 eclipse scala 插件?

来自: http: //permalink.gmane.org/gmane.comp.lang.scala/19439

插件默认加载,但必须通过命令行参数 -P:continuations:enable 启用

0 投票
3 回答
561 浏览

ruby - 延续可以用作递归的替代品吗?

以下函数为 n = 5,000 生成“堆栈级别太深 (SystemStackError)”

有没有办法使用 continuations/callcc 来避免这个错误?

笔记:

我知道这可以在没有递归的情况下实现。例如

0 投票
1 回答
271 浏览

scala - 需要有关 Continuations-Error “在非 cps 位置找到 cps 表达式”的帮助

我尝试使用 Scala 2.8 Continuations-PlugIn 构建以下简单的生成器。以下错误来自哪里?

代码:

0 投票
1 回答
1794 浏览

scheme - 实用方案编程

自从我接触到 Scheme 并决定使用 Scheme 实现命令行收入分区器已经有几个月了。

我最初的实现在延续上使用了简单的递归,但我认为延续会更适合这种类型的程序。如果有人(比我更精通 Scheme)可以看看这个并提出改进建议,我将不胜感激。我认为多(display...行也是使用宏的理想机会(我还没有接触到宏)。

调用(ab-income)要求输入,如果提供低于 600 的任何内容(据我的理解),它会(ab-income)返回current-continuation. 我的第一个实现(正如我之前所说的)使用纯简递归。这也不错,但我认为(ab-income)如果值低于 600,每次返回调用都会不断扩展函数。

(如果这种担心不正确,请纠正我!)

0 投票
1 回答
688 浏览

haskell - 延续单子“接口”

状态单子“接口”

(+ return and bind) 允许在不使用State构造函数的情况下使用 State monad 构造任何可能的计算。例如,State $ \s -> (s+1, s-1)可以写成

同样,我永远不必使用Reader构造函数,因为我可以使用ask,return(>>=). 准确地说:Reader f == ask >>= return . f

延续是否也一样——是否可以编写所有Cont r a使用实例callCC(中唯一的函数MonadCont)、返回和绑定,并且从不输入类似的东西Cont (\c -> ...)

0 投票
1 回答
420 浏览

scala - 为 CPS 类实现 Seq[T]

在 CPS 上下文 (@cps[Unit]) 中拥有以下类,我将如何实现 Seq-trait?我是否必须将 Seq 等标准特征放在一边,只在 cps-context 中实现 map、flatmap 和 foreach?

0 投票
2 回答
5119 浏览

scala - 如何在 Scala 中启用延续?

问题说明了一切。

(然而,多年来,如何访问shiftreset操作的细节发生了变化。旧博客条目和 Stack Overflow 答案可能包含过时的信息。)

另请参阅什么是 Scala 延续以及为什么使用它们?它谈到了你可能想要做的事情shift以及reset一旦你拥有它们。

0 投票
1 回答
342 浏览

scala - 嵌套 CPS “重置”

使用 Scala 2.8 的 CPS 编译器插件,有两个魔术控件resetshift. 重置界定延续,移位捕捉延续。

有一个使用 CPS 和 NIO 的例子,使用嵌套重置作为一种“分叉”......?我不完全理解嵌套重置的目的,有什么作用?