Domanda

Ho bisogno di un linguaggio di scripting per descrivere i flussi di lavoro molto complicato.

  • Questi flussi di lavoro devono essere messi in pausa quando è richiesta l'input dell'utente, e ripreso dopo è dato (potrebbe essere mesi dopo). Sembra continuazioni serializzabili da Stackless sarebbe una buona misura.

  • Gli utenti devono anche essere in grado di modificare il loro flussi di lavoro. Io non sono sicuro di come continuazioni serializzato sarebbero gestire le modifiche del codice sottostante. Penso di aver bisogno di salvare la versione hash Git con la continuazione, e solo 'aggiornare' la continuazione ai posti di blocco in cui è necessario nessuno stato.

  • Io preferisco la sintassi di Python dal leggibilità è una priorità molto alta, e le caratteristiche dinamiche sono fondamentali. Sono aperto a suggerimenti, però.

  • Alla fine io probabilmente scrivere un editor di diagramma di flusso visivo che maniupulates il codice sottostante.

Ho guardato in profondità a Stackless e PyPy. Stackless non sembra offrire alcuna promessa di sandboxing, mentre PyPy sembra offrire sia stackless e in modalità sandbox, ma non riesco a trovare alcuna menzione di avere entrambi allo stesso tempo.

Tutte le soluzioni? Se c'è un esperto là fuori che può farmi andare con una soluzione buona, ho un conto PayPal e sono disposto ad usarlo.

È stato utile?

Soluzione

Il vostro requisito serializzazione sarà difficile nella maggior parte delle lingue con le librerie native co-routine. Potrebbe essere necessario implementare co-routine in un altro modo per consentire oggetto grafico serializzazione.

Lua ha la libreria di Plutone, che può persistere discussioni (co-routine): http: // lua- users.org/wiki/PlutoLibrary

Per quanto riguarda l'esecuzione "sicura" in una sandbox, Lua è una prima scelta. Si possono avere più stati lua in una singola applicazione con problemi a zero, e supporta co-routine nel linguaggio. Essa ha anche il vantaggio di essere abbastanza veloce nella sua forma VM, e con luajit è competitiva con Java JIT , in molti casi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top