Haskell导出大量函数

时间:2013-07-07 16:21:07

标签: haskell module export

我正在编写一个具有相当多需要导出的函数的模块。此模块还具有大量数据结构。

假设我的模块包含以下内容:

module MyUtils (A(..), B(..),C(..),D(..),f1,f2,f3,f4,f5,f6) where
--Data constructors
data A = ...
data B = ...
data C = ...
data D = ...
--functions
f1 :: A -> B
f2 :: A -> B -> C
f3 :: A -> B -> D
f4 :: A -> B -> A
f5 :: A -> B -> B
f6 :: A -> B

我看到了Data.Map源here 它表明它正在一个非常大的列表中导出大量函数。

但如果我想导出所有内容,可以使用快捷方法完成,例如,

module MyUtils (..) where

2 个答案:

答案 0 :(得分:13)

是的,完全忽略(..)。默认情况下,将导出所有名称。

module MyUtiles where
...

如果要导出的个函数与要隐藏的个函数一起导出,最好将隐藏的函数放在另一个模块中并导入它。

答案 1 :(得分:0)

您也可以通过以下方式进行:

module MyUtiles (module MyUtiles) where

有时需要(或需要)使用导出列表。例如,如果您想导出当前模块中的所有内容并从另一个模块重新导出绑定。