我正在编写一个具有相当多需要导出的函数的模块。此模块还具有大量数据结构。
假设我的模块包含以下内容:
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
答案 0 :(得分:13)
是的,完全忽略(..)
。默认情况下,将导出所有名称。
module MyUtiles where
...
如果要导出的大个函数与要隐藏的小个函数一起导出,最好将隐藏的函数放在另一个模块中并导入它。
答案 1 :(得分:0)
您也可以通过以下方式进行:
module MyUtiles (module MyUtiles) where
有时需要(或需要)使用导出列表。例如,如果您想导出当前模块中的所有内容并从另一个模块重新导出绑定。