Typecheck生成的代码可以访问Haskell中动态加载的代码

时间:2012-01-28 19:35:10

标签: haskell code-generation

我需要一种快速的方式(每秒1000次的typechecks)来检测生成的Haskell源代码。

我们尝试hint这个速度足够快,除非它无法访问动态加载的代码,除非源代码可用,在某些情况下我们不会有。也许有一些方法可以将动态加载的代码注册为包或其他东西,因为提示可以访问已注册的包吗?

我们尝试使用ghc api,但似乎要求文件在磁盘上,并且所需的所有文件IO都会使它太慢。

我们可以使用haskell-src-exts生成代码,但我们需要对其进行类型检查。

1 个答案:

答案 0 :(得分:0)

每秒数以千计的类型检查似乎并不可行 - 您同时进行这些检查,希望并行性有希望吗?

我认为你支持完整的GHC类型系统?因此,一个精简的类型检查器(例如THIH)就不够了。

  • 使用ghc-api,带字节码且无优化
  • 将所有内容缓存在内存中
  • 提交对GHC的修改,以确保它可以在必要时从内存缓冲区中获取FD