我需要(a)沙盒和(b)可序列化的延续。我正在向用户公开服务器端游戏脚本,并且它非常异步,因此回调模式使代码不可读并且对于新手程序员来说非常难以接近。延续传递风格是一种替代方案,但具有相同的缺点。异步是指对用户的查询可能需要数月才能完成。
有关我的完整列表,请参见http://weaverengine.com/platforms
可序列化的延续似乎是一个非常优雅的解决方案,但很少有解释器支持它们。
到目前为止,似乎我唯一的选择是犀牛。我希望NodeJS或 PyPy 可以工作,但到目前为止的证据表明相反。
Lua 似乎支持 coroutines,但我找不到任何关于它是否支持可序列化延续的信息。Lua 在沙盒方面做得很好。
NodeJS让Jefe提供了非常好的沙盒,但目前还没有关于 continuation serialization的内容。
根据我在 pypy-dev 邮件列表中的理解,PyPy 还没有完善他们的沙盒和可序列化的延续支持到可以一起使用的程度。
JavaFlow 提示如果所有类都实现 Serializeable,那么 Java 延续可以被序列化。但是除非我可以在 JavaFlow 之上运行一个很好的动态语言的解释器,否则我不感兴趣。
Java 和 Rhino 是我唯一的选择吗?
是否有具有延续支持的 NodeJS 分支?任何符合这些标准的相当不错的动态语言?