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