繁体   English   中英

使用GHC API进行代码编译的“干运行”

[英]Using the GHC API to do a “dry run” of code compilation

我正在为Haskell开发一个相当简单的文本编辑器,我希望能够在用户点击“检查”时突出显示代码中的静态错误。

有没有办法使用GHC-API进行“干运行”编译haskell文件而不实际编译它? 我希望能够获取一个字符串并执行正常编译的所有检查,但没有输出。 GHC-API是理想的,因为那时我不必解析GHC的命令行输出来突出显示错误等。

另外,是否可以对字符串进行检查,而不是对文件进行检查? (如果没有,我可以将它写入临时文件,这不是非常有效,但可以工作)。

如果可以,你能提供或指出一个如何做到这一点的例子吗?

这个问题提出了同样的问题,但它是从三年前开始的,当时答案是“GHC-API是新的,还没有好的文档。” 所以我希望状态已经改变。

编辑:“干运行”限制是因为我在基于Web的设置中执行此操作,其中编译发生在服务器端,因此我希望每次用户点击“检查”时避免不必要的磁盘读/写。 无论如何,可执行文件都会被丢弃,直到他们准备好运行一个版本。

只是为了回答这个问题,这已经存在为ghc-mod ,这是主页 这已经为Emacs,Sublime和Vim提供了前端,所以如果你需要如何使用它的例子,那就有很多。 从本质上讲,ghc-mod正是你想要的,是为编辑器设计的GHC API的包装器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM