Come fare in modo sicuro? userDefinedFunction
si suppone che sia un codice di terze parti non attendibile. Dovrebbe essere costruito per codice veloce e ottimizzato, ma non dovrebbe essere in grado di accedere direttamente al sistema.Come posso compilare ed eseguire snippet di codice di terze parti in Haskell in modo sicuro?
Suppongo che dovrebbe combinare Safe Haskell e System.Eval.Haskell. Ci sono progetti o tutorial che trattano questo?
'mueval' è stato sviluppato tenendo presenti alcune di queste proprietà. Purtroppo, probabilmente non è all'altezza delle prestazioni. Sarebbe bello avere qualche binding di llvm-nacl. –
Senza requisiti di prestazioni, è possibile utilizzare qualcosa come Lua. Voglio un codice per l'utilizzo intensivo della matematica fornito dagli utenti. –
@Vi., Safe Haskell ti aiuterà (forse molto), ma devi ancora stare attento all'uso della memoria (ti consigliamo di utilizzare le opzioni di GHC per limitare l'heap e lo stack totali e/o utilizzare il tuo sistema operativo per limitarli), Tempo di CPU (il tuo sistema operativo potrebbe essere in grado di aiutare) e, naturalmente, bug in GHC. – dfeuer