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