haskell——如何从非主模块创建二进制文件?

haskell——如何从非主模块创建二进制文件?,haskell,compilation,ghc,Haskell,Compilation,Ghc,我经常在测试中离开main::IO()函数。我可以使用runghc很好地运行它们,但有时我想编译它们(例如,在另一个平台上运行)。有办法做到这一点吗?例如,如果我跑步 ghc --make Test.Haar 如果Test/Haar.hs有一个main方法,那么什么也不会发生,它只是创建.o文件。但是请注意,在使用-main is Test.Haar之后,如果您想将模块作为另一个程序的一部分使用,您必须在不使用-main is的情况下重新编译它,否则,链接器将找到两个入口点并抛出一个错误。我不

我经常在测试中离开
main::IO()
函数。我可以使用
runghc
很好地运行它们,但有时我想编译它们(例如,在另一个平台上运行)。有办法做到这一点吗?例如,如果我跑步

ghc --make Test.Haar

如果
Test/Haar.hs
有一个
main
方法,那么什么也不会发生,它只是创建
.o
文件。

但是请注意,在使用
-main is Test.Haar
之后,如果您想将模块作为另一个程序的一部分使用,您必须在不使用
-main is
的情况下重新编译它,否则,链接器将找到两个入口点并抛出一个错误。

我不确定这是否是您要查找的,但签出-main是选项(docs at)
ghc --make -main-is Test.Haar Test.Haar