メイン関数のシグネチャがないメインモジュールを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 に答える