Мне нужны (а) песочница и (б) сериализуемые продолжения. Я предоставляю пользователям сценарии серверной игры , и это крайне асинхронно, поэтому шаблон обратного вызова делает код нечитаемым и очень недоступным для начинающих программистов. Стиль передачи продолжения является альтернативой, но имеет те же недостатки. Асинхронность в том смысле, что для выполнения запроса пользователю могут потребоваться месяцы.
См. http://weaverengine.com/platforms для моего полного списка
Сериализуемые продолжения кажутся очень элегантным решением, но немногие интерпретаторы поддерживают их.
Пока что, похоже, мой единственный вариант - Rhino. Я надеялся, что NodeJS или PyPy сработает, но доказательства пока указывают на обратное.
Кажется, Lua поддерживает сопрограммы , но я не могу найти никакой информации о том, поддерживает ли он сериализуемые продолжения. Луа хорошо занимается песочницей.
NodeJS имеет Jefe , чтобы предложить действительно хорошую песочницу, но пока ничего относительно продолжения сериализации .
PyPy также еще не усовершенствовал свою поддержку песочницы и сериализуемого продолжения до такой степени, чтобы их можно было использовать вместе, как я понял из списка рассылки pypy-dev.
JavaFlow намекает на то, что если все классы реализуют Serializeable, то продолжения Java могут быть сериализованы. Но если я не смогу запустить интерпретатор для хорошего динамического языка поверх JavaFlow, мне это не интересно.
Является ли Java и Rhino моим единственным вариантом?
Есть ли ветка NodeJS с поддержкой продолжения? Любой достаточно хороший, динамичный язык, который соответствует этим критериям?