是否有可能在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
中定义的每个函数?
有一个简单的解决方案,只需从模块中导出模块:
module Test
( module Test
, module A
) where
import Prelude()
import A
f x = x