Haskell导出大量函数

Tem*_*ora 9 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
Run Code Online (Sandbox Code Playgroud)

我在这里看到了Data.Map源 它显示它正在一个非常大的列表中导出大量函数.

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

module MyUtils (..) where
Run Code Online (Sandbox Code Playgroud)

J. *_*son 14

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

module MyUtiles where
...
Run Code Online (Sandbox Code Playgroud)

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


小智 7

您还可以通过以下方式进行操作:

module MyUtiles (module MyUtiles) where
Run Code Online (Sandbox Code Playgroud)

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