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