我正在尝试在tryhaskell.org和openjscad.org之间建立一个网络应用。用户可以为定义实体对象的模块输入Haskell代码,评估服务器端,并在浏览器中显示生成的对象。
我已经实现了所需的CSG功能。
我希望能够使用mueval来安全地运行不受信任的Haskell,就像tryhaskell.org一样。 我不知道如何使用mueval安全地运行Haskell代码,包括函数定义,而不是仅仅评估Haskell语句。
我知道mueval的--loadfile
参数,但是在评估表达式时,这并不像mueval提供的那样提供相同的安全保证。
是否可以使用mueval(或类似的东西)来安全地评估不受信任的Haskell模块?