我正在寻找一种安全运行任意 Haskell 代码(或拒绝运行不安全代码)的方法。
一定有:
- 模块/功能白名单
- 执行超时
- 内存使用限制
我希望看到的功能:
- 杀死线程的能力
- 将模块编译为本机代码
- 缓存编译代码
- 同时运行多个解释器
- 编译器错误的复杂数据类型(在字符串中插入简单消息)
有了这种功能,就有可能实现一个能够运行任意 Haskell 代码的浏览器插件,这就是我的想法。
编辑:我有两个答案,都很好。谢谢!可悲的是,似乎没有现成的库,只有一个类似的程序。这是一个有用的资源。无论如何,我想我会等待 7.2.1 发布并尝试在我自己的程序中使用 SafeHaskell。