为了写或不写`模块主要where`哈斯克尔(To write or not to write `mo

2019-07-30 01:34发布

哈斯克尔98规范指出一个程序的入口点,即,功能main ,应该驻留称为主模块中,按照约定。 但是,即使你不写module Main where在你写的文件的顶部main的,源代码编译,当你使用GHC似乎工作正确。

问题是:

  1. 什么是写作的差异module Main where ,而不是写了吗?
  2. 哪一个最好?

Answer 1:

是不是真的有差别, module Main (main) where将隐含的定义,当你不指定自己的标题。 从哈斯克尔98报告 :

模块的缩写形式,仅由模块主体的,是允许的。 如果这是所使用的,首标被假定为module Main(main) where

我宁愿一个明确的定义,一个隐含的一个,但是,对于一个Main.hs这是一个轻微的偏爱。



文章来源: To write or not to write `module Main where` in Haskell