103

是否可以在 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

4

1 回答 1

147

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

module Test
    ( module Test
    , module A
    ) where

import Prelude()
import A
f x = x
于 2013-08-03T17:57:16.777 回答