哈斯克尔:如何只生成GHC .hi文件?(Haskell: How to only generate

2019-07-18 04:03发布

我想产生一个.hi接口文件,并 (没有对象文件,没有代码生成的话)。

我试过了

ghc -fno-code -ohi out.hi myfile.hs

并获得

ghc: -ohi can only be used when compiling a single source file

我不明白,因为我只给一个单一的源文件。

Answer 1:

大约2014年,有加入GHC专门为这个选项。 现在,你可以调用:

ghc -fno-code -fwrite-interface ...

实际上,它由约四分之一在某些情况下,加快编制。



Answer 2:

使用-c选项,否则GHC想链接,而不仅仅是编译:

ghc -fno-code -ohi out.hi -c myfile.hs

UPDATE:但它并没有真正帮助,因为-fno-code可防止.hi创作。

ghc -o /dev/null -ohi out.hi -c myfile.hs

这一次扔掉编译的结果。 不过,这也将避免不必要的编译,如果out.hi是最新的。



文章来源: Haskell: How to only generate .hi file with ghc?
标签: haskell ghc