Haskell导出当前模块带有额外的导入模块

时间:2013-08-03 17:31:30

标签: haskell module export

是否可以在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中定义的每个函数?

1 个答案:

答案 0 :(得分:122)

有一个简单的解决方案,只需从模块中导出模块:

module Test
    ( module Test
    , module A
    ) where

import Prelude()
import A
f x = x