是否可以在Haskell中编写一个模块,除了导出可见内的所有内容之外,还会重新导出模块?
让我们考虑以下模块:
module Test where
import A
f x = x
此模块会导出已定义内的所有内容,因此会导出f
,但不会重新导出从A
导入的任何内容。
另一方面,如果我想重新导出模块A
:
module Test (
module A,
f
) where
import A
f x = x
有没有办法重新导出A
并导出Test
中定义的所有内容,而无需显式编写Test
中定义的每个函数?
答案 0 :(得分:122)
有一个简单的解决方案,只需从模块中导出模块:
module Test
( module Test
, module A
) where
import Prelude()
import A
f x = x