我正在为 Haskell 开发一个相当简单的文本编辑器,我希望能够在用户点击“检查”时突出显示代码中的静态错误。
有没有办法使用 GHC-API 来“试运行”编译 haskell 文件而不实际编译它?我希望能够获取一个字符串并进行正常编译的所有检查,但没有输出。GHC-API 将是理想的,因为这样我就不必解析 GHC 的命令行输出来突出显示错误等。
此外,是否可以对字符串而不是文件进行此检查?(如果没有,我可以把它写到一个临时文件中,这不是非常有效,但可以工作)。
如果这是可能的,您能否提供或指出一个示例如何做到这一点?
这个问题问的是同样的问题,但它来自三年前,当时的答案是“GHC-API 是新的,还没有好的文档”。所以我希望状态已经改变。
编辑:“空运行”限制是因为我在基于 Web 的设置中执行此操作,其中编译发生在服务器端,所以我想避免每次用户点击“检查”时不必要的磁盘读/写。无论如何,可执行文件都会被丢弃,直到他们准备好运行的版本。