メイン関数のシグネチャがないメインモジュールをGHCに受け入れさせる方法(フラグまたはハック)はありIO ()
ますか?Fayの場合、main関数のタイプFay ()
はですが、モジュールがMainの場合(またはモジュール名が省略されている場合)、GHCはこれを受け入れません。
質問する
2809 次
1 に答える
10
プログラムへのエントリポイントにはIO a
、いくつかの型が必要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 に答える