Спецификация Haskell 98 гласит, что точка входа программы, а именно функция main
, по соглашению должна находиться в модуле с именем Main. Однако, даже если вы не пишете module Main where
в верхней части файла, в который записываете main
, исходный код компилируется и работает правильно, когда вы используете GHC.
Вопрос в том:
- В чем разница между написанием
module Main where
и отказом от него? - Какой из них предпочтительнее?