Escribir o no escribir `módulo principal donde` en Haskell

La especificación Haskell 98 dice que el punto de entrada de un programa, a saber, la funciónmain, debe residir en el módulo denominado Main, por convención. Sin embargo, incluso si no escribesmodule Main where en la parte superior del archivo que escribesmain en, el código fuente compila y parece funcionar correctamente cuando estás usando GHC.

La pregunta es:

¿Cuál es la diferencia entre escribirmodule Main where ¿Y no lo escribes?¿Cuál es la preferida?

Respuestas a la pregunta(1)

Su respuesta a la pregunta