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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Haskell导出当前模块带有额外的导入模块相关的知识,希望对你有一定的参考价值。

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

以上是关于Haskell导出当前模块带有额外的导入模块的主要内容,如果未能解决你的问题,请参考以下文章

Haskell 导入模块

有没有办法使用 Template Haskell 枚举模块中的所有函数?

ES6模块化基本语法(导入import/导出export)

将 CommonJS 默认导出导入为命名导出/无法加载 ES 模块

python模块知识一 自定义模块timedatetime时间模块

导入具有导出枚举的模块时找不到模块错误