哈斯克尔98规范指出一个程序的入口点,即,功能main
,应该驻留称为主模块中,按照约定。 但是,即使你不写module Main where
在你写的文件的顶部main
的,源代码编译,当你使用GHC似乎工作正确。
问题是:
- 什么是写作的差异
module Main where
,而不是写了吗? - 哪一个最好?
哈斯克尔98规范指出一个程序的入口点,即,功能main
,应该驻留称为主模块中,按照约定。 但是,即使你不写module Main where
在你写的文件的顶部main
的,源代码编译,当你使用GHC似乎工作正确。
问题是:
module Main where
,而不是写了吗? 是不是真的有差别, module Main (main) where
将隐含的定义,当你不指定自己的标题。 从哈斯克尔98报告 :
模块的缩写形式,仅由模块主体的,是允许的。 如果这是所使用的,首标被假定为
module Main(main) where
。
我宁愿一个明确的定义,一个隐含的一个,但是,对于一个Main.hs
这是一个轻微的偏爱。