Haskell 98 仕様では、慣例により、プログラムのエントリ ポイント、つまり functionmainは Main と呼ばれるモジュールに存在する必要があると規定されています。module Main whereただし、書き込むファイルの先頭に書かなくてもmain、ソースコードはコンパイルされ、GHC を使用している場合は正しく動作しているように見えます。
質問は:
- 書くことと書かないことの違いは何
module Main whereですか? - どちらが好ましいですか?
Haskell 98 仕様では、慣例により、プログラムのエントリ ポイント、つまり functionmainは Main と呼ばれるモジュールに存在する必要があると規定されています。module Main whereただし、書き込むファイルの先頭に書かなくてもmain、ソースコードはコンパイルされ、GHC を使用している場合は正しく動作しているように見えます。
質問は:
module Main whereですか?実際には違いはありませんmodule Main (main) where。ヘッダーを自分で指定しない場合の暗黙の定義になります。Haskell 98レポートから:
モジュール本体のみで構成される省略形のモジュールが許可されます。これを使用すると、ヘッダーは と見なされます
module Main(main) where。
私は暗黙の定義よりも明示的な定義を好みますが、Main.hsそれはマイナーな好みです。