Make GHC only type-check?

风流意气都作罢 提交于 2019-12-17 22:38:07

问题


Is there a way, either standard, or a clever hack, to make invoking GHC on a file only run the type-checker? E.g.

$ ghc --just-check-the-types x.hs
$

No output files, no .hi or .o, etc. Don't want to/can't use the GHC API. Just talking about the command-line program, here.


回答1:


What about ghc -fno-code file.hs. It will generate no other files and will show errors if your files don't typecheck.

Caveat: this will not do analysis on in-exhaustive pattern matches, so if you want those additional useful warnings, don't use this option alone.




回答2:


Here's a hack:

crabgrass:~/programming% ghc test.hs -e 'return 0'

test.hs:1:7:
    No instance for (Num (a0 -> t0))
      arising from the literal `3'
    Possible fix: add an instance declaration for (Num (a0 -> t0))
    In the expression: 3
    In the expression: 3 4
    In an equation for `foo': foo = 3 4
zsh: exit 1     ghc test.hs -e 'return 0'


来源:https://stackoverflow.com/questions/12373722/make-ghc-only-type-check

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!