解释Haskell空导入列表()

时间:2012-02-02 12:20:52

标签: haskell

我看到很多像import HSP.ServerPartT()这样的行 - 导入列表是空的。为什么这样做?只是没有导入这个模块有什么区别?

2 个答案:

答案 0 :(得分:15)

它只导入模块中的类型类实例。对于-Wall,GHC会对导入但未使用定义的模块发出警告:

foo.hs:1:1:
    Warning: The import of `M' is redundant
               except perhaps to import instances from `M'
             To import instances alone, use: import M()

空导入列表会使此警告无效,并作为导入目的的文档。

答案 1 :(得分:3)

该表单只导入该模块中的实例。这就是这种形式的原因,你想让实例在范围内,但没有别的。