Ist Rhino der einzige Interpreter mit Unterstützung für Sandboxing und serialisierbare Fortsetzungen?

8

Ich brauche (a) Sandboxing und (b) serialisierbare Fortsetzungen. Ich stelle serverseitige Spielskripte den Nutzern zur Verfügung und es ist extrem asynchron. Daher macht das Callback-Muster den Code unlesbar und sehr unbrauchbar. zugänglich für Anfänger-Programmierer. Ein Fortsetzungsstil ist eine Alternative, hat aber die gleichen Nachteile. Async in dem Sinne, dass eine Abfrage für den Benutzer Monate dauern kann.

Siehe Ссылка für meine vollständige Liste

Serialisierbare Fortsetzungen erscheinen wie eine sehr elegante Lösung, aber nur wenige Dolmetscher unterstützen sie.

Bisher scheint es, dass meine einzige Option Rhino ist. Ich hatte gehofft, dass NodeJS oder PyPy funktionieren würde, aber die bisherigen Beweise deuten auf das Gegenteil hin.

Lua scheint Koroutinen zu unterstützen , aber ich kann keine Informationen darüber finden, ob serialisierbare Fortsetzungen unterstützt werden. Lua macht Sandboxing gut.

NodeJS hat Jefe wirklich nett anzubieten Sandboxing, aber bisher nichts in Bezug auf Fortsetzungsserialisierung .

PyPy hat seine Sandboxing- und serialisierbare Fortsetzungsunterstützung noch nicht so weit verfeinert, dass sie zusammen verwendet werden können, was ich auf der Pypy-dev-Mailingliste verstanden habe.

JavaFlow weist darauf hin, dass Java-Fortsetzungen serialisiert werden könnten, wenn alle Klassen Serializeable implementieren. Aber außer ich kann einen Interpreter für eine nette dynamische Sprache auf JavaFlow ausführen, bin ich nicht interessiert.

Ist Java und Rhino meine einzige Option?

Gibt es einen Zweig von NodeJS mit Fortsetzungsunterstützung? Jede einigermaßen nette, dynamische Sprache, die diese Kriterien erfüllt?

    
Nathanael Jones 07.03.2011, 15:01
quelle

3 Antworten

2

Ich bin überrascht, dass Sie Scheme nicht erwähnt haben, denn das ist die Sprache, in der die Fortsetzungen vorangingen. SISC ist beispielsweise ein Scheme-Interpreter, der auf der JVM läuft und serialisierbare Fortsetzungen unterstützt. Diese werden beispielsweise im SISCweb -Framework verwendet.

Für das Sandboxing könnten Sie die eingebauten Sicherheitsfunktionen des jvm verwenden.

    
Jörn Horstmann 07.03.2011 23:25
quelle
0

Es sollte möglich sein Fortsetzungen in Gambit-C zu serialisieren. p>     

knivil 15.03.2011 10:30
quelle
0

Ich landete mit Lua 5.1.4 und Pluto . Scheint bis jetzt eine gute Wahl zu sein.

    
Nathanael Jones 29.12.2013 03:23
quelle