Question

Je besoin d'un langage de script pour décrire les flux de travail très compliqué.

  • Ces flux de travail doivent être mis en pause chaque fois que l'entrée d'utilisateur est requise, et repris après qu'il est donné (peut-être des mois plus tard). On dirait continuations sérialisables de Stackless serait un bon ajustement.

  • Les utilisateurs doivent également être en mesure de modifier eux-mêmes flux de travail. Je ne sais pas comment continuations sérialisé traiterait des changements de code sous-jacent. Je pense que je pourrais avoir besoin d'enregistrer le hachage version Git ainsi que la poursuite, et seulement « mise à niveau » continuation aux postes de contrôle où aucun état est nécessaire.

  • Je préfère la syntaxe Python depuis La lisibilité est une priorité très élevée, et les caractéristiques dynamiques sont essentielles. Je suis ouvert aux suggestions, cependant.

  • Finalement, je vais probablement écrire un éditeur de diagramme visuel qui maniupulates le code sous-jacent.

Je l'ai regardé en profondeur Stackless et PyPy. Stackless ne semble pas offrir des promesses de sandboxing, alors que PyPy semble offrir à la fois stackless et sandbox, mais je ne trouve aucune mention d'avoir les deux en même temps.

Les solutions? S'il y a un expert là-bas qui peut me faire aller avec une bonne solution, j'ai un compte paypal et je suis prêt à l'utiliser.

Était-ce utile?

La solution

Votre exigence de sérialisation sera difficile dans la plupart des langues avec des bibliothèques co-routine natifs. Vous pourriez avoir besoin de mettre en œuvre des co-routines d'une autre manière pour permettre sérialisation graphe d'objet.

Lua a la bibliothèque Pluton, qui peut persister fils (co-routines): http: // lua- users.org/wiki/PlutoLibrary

En ce qui concerne l'exécution « sûr » dans un bac à sable, Lua est un premier choix. Vous pouvez avoir plusieurs états lua dans une application unique avec zéro problèmes, et il prend en charge les co-routines dans la langue. Il a aussi l'avantage d'être assez rapide dans sa forme VM, et luajit est compétitive avec Java JIT dans de nombreux cas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top