Pte*_*mys 23 haskell module entry-point
Haskell 98规范说,程序的入口点,即函数main,应按惯例驻留在名为Main的模块中.但是,即使您没有module Main where在您编写的文件的顶部写入main,源代码也会编译,并且在您使用GHC时似乎正常工作.
问题是:
module Main where和不写作有什么区别?jde*_*eno 21
module Main (main) where当您没有自己指定标题时,没有真正的区别,是隐式定义.来自Haskell 98报告:
允许使用仅由模块主体组成的缩写形式的模块.如果使用它,则假定标题为
module Main(main) where.
我更喜欢隐式定义的明确定义,但是,Main.hs它是次要的偏好.