I would like to generate an .hi
interface file and only that (no object file, no code generation at all).
I tried
ghc -
Use -c
option, or else ghc wants to link, not just to compile:
ghc -fno-code -ohi out.hi -c myfile.hs
UPDATE: but it doesn't really help, because -fno-code
prevents .hi
creation.
ghc -o /dev/null -ohi out.hi -c myfile.hs
This one throws away the result of compilation. However, it will also avoid unnecessary compilation if out.hi
is up to date.
Around 2014, there was an option added to GHC specifically for this. Now, you can invoke:
ghc -fno-code -fwrite-interface ...
It actually speeds up compilation by about a quarter in some cases.