Is there some way (flag or hack) to make GHC accept a main module where the main function's signature isn't IO ()
? For Fay the main functions have the type Fay ()
, but GHC does not accept this if the module is Main (or the module name is left out).
问问题
2809 次
1 回答
10
程序的入口点必须有IO a
some类型a
,据我所知,没有办法让 GHC 接受其他类型(不修改其源代码)。
默认情况下,入口点是,但您可以使用带有 GHC 的标志Main.main
指定不同的操作作为入口点。-main-is
一般形式是
ghc -main-is Module.action ModuleThatImportsEverything.hs -o programme
如果模块是,您可以省略该Module
部分Main
,
ghc -main-is action ModuleThatImportsEverything.hs -o programme
或action
零件,如果其名称为main
,
ghc -main-is Module ModuleThatImportsEverything.hs -o programme
相当于-main-is Module.main
。
对于您的情况,您可以将虚拟操作添加到Main
模块或虚拟模块 - 当然需要从Main
模块(直接或间接)导入 - 到程序中作为入口点,就 GHC 而言担心的。
于 2012-11-19T19:37:55.307 回答