Haskell:如何只用ghc生成.hi文件?

时间:2013-01-13 18:52:35

标签: haskell ghc

我想生成一个.hi接口文件和 only (没有目标文件,根本没有代码生成)。

我试过

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

并获取

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

我不明白,因为我只提供了一个源文件。

2 个答案:

答案 0 :(得分:2)

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

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

更新:但它并没有真正帮助,因为-fno-code阻止.hi创建。

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

这个抛弃了编译的结果。但是,如果out.hi是最新的,它还可以避免不必要的编译。

答案 1 :(得分:2)

2014年左右,GHC专门为此添加了一个选项。现在,您可以调用:

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

在某些情况下,它实际上加速了大约四分之一的编译。