continuations

    12热度

    2回答

    假设我有一个睡眠功能: def sleep(delay:Int) : Unit @suspendable = { .... } 是有可能有一个功能,未来的创建可同步等待的睡眠功能的异步版本。 def future(targetFunc: (Int => Unit @suspendable)) : (Int => Future) = { .... } class Fu

    4热度

    2回答

    假设,有一个reset块用单shift: val r = reset { // do smth. 1 shift {...} // do smth. 2 // do smth. 3 } 它是正确的,我把经过“做未便2”或“做3水木清华”的shift不改变结果r? shift代表reset区块在哪里并不重要?

    4热度

    1回答

    我发现这篇文章:http://www.mono-project.com/Continuations 所以我有几个关于它的问题。 基于此框架,是否有任何针对Nemerle的erlang样式或(至少)scala样式演员的实现? 如果不是,任何人都可以举一个使用这个API的例子,请。 也是这个与本机Microsoft .NET CLR兼容的延续框架吗? 谢谢你的帮助。

    2热度

    2回答

    我想要一个可序列化的继续,所以我可以在等待新事件时将异步工作流程腌制到磁盘。当异步工作流程正在等待let!时,它将被保存起来,同时记录下需要唤醒的内容。除了任意内存IAsyncResult(或Task<T>等),它必须是,例如,传入消息的过滤标准以及延续本身。没有语言支持延续,这可能是一个壮举。但是用计算表达式来处理明确的CPS转换,它可能不会太棘手,甚至可能更高效。有没有人处理过这样的方法?

    11热度

    1回答

    我正在尝试使用Scala(2.9.0)延续来构建看似阻塞的API,但实际上它是异步的。假设你希望写类似: if(ask("Continue?")) //Prompts Yes/No name = input("Enter your name") 凡ask,当用户按下是返回一个布尔值,并input请求的值。从网络服务器调用这个图片,其中ask和input不会阻塞任何线程,它们只是在显示

    9热度

    2回答

    这是一个关于Scala延续的问题。 resets可以嵌套吗?如果他们能够:嵌套resets有用吗?有没有嵌套resets的例子?

    7热度

    2回答

    声明:之前有人说:是的,我知道这是不好的风格,并没有鼓励。我只是为了与Scala一起玩,并试着更多地了解类型推断系统的工作原理以及如何调整控制流。我不打算在实践中使用此代码。 所以:假设我在一个相当长的功能,有很多后续检查的开头,而如果他们失败了,都应该引起函数返回其他值(不丢) ,否则返回正常值。我不能在Function的主体中使用return。但我可以模拟它吗?有点像break模拟scala.

    6热度

    2回答

    我以前在业余时间使用IronLua。 Lexing和解析目前已完成。因为在.NET中实现Lua协程而不使用肮脏的线程攻击并不容易,所以我停止了对它的工作。这与我如何编译Lua函数有关,并且这是我在设计编译器时需要尽早解决的一个问题。 我一直在研究协程的实现,事实证明我对延续的初步看法是正确的。由于协程创建,良率和其他操作不是语言关键字,而是“协同程序”表中的函数,因为协程表可能已被先前脚本覆盖,所

    2热度

    1回答

    您能否给我提供一些有关如何在播放框架中使用延续的良好示例的链接?(除了播放框架的源代码,它们的“样本和测试”和现场文档,已经是那里) 任何文档和理论中的“傻瓜”格式也赞赏。

    1热度

    3回答

    嗨,大家好我正在实现一个F#函数,它需要两个类型列表:(int * float)list。这两个名单有不同的lentgths。 这对夫妇的int元素是一个渐增的代码。 我想要做的是创建一个新列表,其中包含两个具有相同代码的列表中的每两个元素的一对(int * float)。重要的是要注意列表中的代码正在增加。 这些列表可能有点长,比如2-3000个元素,所以我尝试使用continuation传递样