沙盒和无堆栈的蟒蛇?

时间:2010-11-08 18:38:07

标签: python jit continuations pypy python-stackless

我需要一种脚本语言来描述非常复杂的工作流程。

  • 需要暂停这些工作流程 每当需要用户输入时,和 在给出之后恢复(可能是 几个月后)。看起来像Stackless的可序列化延续将是一个不错的选择。

  • 用户还需要能够进行编辑 工作流程本身。我不确定序列化的continuation如何处理底层代码更改。我想我可能需要保存Git版本哈希以及延续,并且只在需要状态的检查点“升级”延续。

  • 我更喜欢Python语法 可读性是一个非常重要的优先事项, 和动态功能是关键。不过,我愿意接受建议。

  • 最终,我可能会编写一个可视化的流程图编辑器来编写底层代码。

我深入研究了Stackless和PyPy。 Stackless似乎没有提供沙盒的任何承诺,而PyPy似乎提供无堆栈和沙盒,但我找不到任何提及同时具有两者。

任何解决方案?如果那里有专家可以让我找到一个好的解决方案,我有一个paypal帐户,我愿意使用它。

1 个答案:

答案 0 :(得分:2)

对于使用本机协同常规库的大多数语言,您的序列化要求将很困难。您可能需要以另一种方式实现协同例程以允许对象图序列化。

Lua有Pluto库,它可以持久化线程(协同例程):http://lua-users.org/wiki/PlutoLibrary

就沙箱中的“安全”执行而言,Lua是首选。您可以在单个应用程序中具有多个lua状态,零问题,并且它支持该语言中的协同例程。它还具有VM格式非常快的优点,在许多情况下luajitcompetitive with Java JIT

相关问题