如何安全地编译和运行Haskell中的第三方代码段?

时间:2014-11-28 16:25:47

标签: security haskell eval

userDefinedFunction = "\x -> x*x :: Int"
main = do
    f <- complileFunction userDefinedFunction :: Int -> Int
    let results = map f [1,2,3,4]
    print $ show results

如何安全地进行? userDefinedFunction应该是不受信任的第三方代码。它应该构建为快速,优化的代码,但不应该直接访问系统。

我认为它应该结合Safe HaskellSystem.Eval.Haskell。是否有任何项目或教程涉及此事?

1 个答案:

答案 0 :(得分:1)

有一个完全this use case的维基页面 您还可以查看lambdabots源代码。