【发布时间】:2012-01-28 19:35:09
【问题描述】:
我需要一种快速的方法(每秒 1000 次类型检查)来对生成的 Haskell 源代码进行类型检查。
我们尝试了hint,它足够快,但它无法访问动态加载的代码,除非源代码可用,而在某些情况下我们不会拥有。也许有一些方法可以将动态加载的代码注册为包或其他东西,因为提示似乎可以访问已注册的包?
我们尝试使用 ghc api,但它似乎要求文件在磁盘上,并且所需的所有文件 IO 使其太慢。
我们可以使用haskell-src-exts来生成代码,但是我们需要进行类型检查。
【问题讨论】:
-
也许您可以使用 GHC api 解决方案,并将所有必要的东西放在一个 ram 磁盘中?
-
这是一个分发给最终用户的应用程序,所以我无法控制他们的系统配置。
-
是否可以提供 GHC api 文件描述符而不是文件位置?那么避免与磁盘讨论内容就不难了(我假设你在 ram 中有)
-
如果来自磁盘的 IO 对 GHC API 来说是个问题,那么将文件放在 ramdisk 上怎么样?我想这会有所帮助。