如何在haskell中使用隐藏模块

如何在haskell中使用隐藏模块,haskell,Haskell,我正在尝试从隐晶石库导入ByteArray。 我的阴谋集团文件在构建中包含cryptonite,我的import语句如下所示 import Crypto.Internal.ByteArray (ByteArray, Bytes) import qualified Crypto.Internal.ByteArray as B 我得到的错误是 无法加载模块“Crypto.Internal.ByteArray” 它是“cryptonite-0.25”包中的隐藏模块 我见过其他使用此特定导入语句的代码

我正在尝试从隐晶石库导入ByteArray。 我的阴谋集团文件在构建中包含cryptonite,我的import语句如下所示

import Crypto.Internal.ByteArray (ByteArray, Bytes)
import qualified Crypto.Internal.ByteArray as B
我得到的错误是 无法加载模块“Crypto.Internal.ByteArray” 它是“cryptonite-0.25”包中的隐藏模块 我见过其他使用此特定导入语句的代码示例,我在这里遗漏了什么?

根据隐藏模块

“无法导入,但它们仍受重叠影响 约束:同一程序中的其他包不能提供模块 同名的。”


您在哪里见过这些其他代码示例?我实际上正在尝试使用这个库中的一些代码。因此,包可以使用自己隐藏的内部模块,但其他任何包都不能使用。很抱歉我会说,我有时会质疑这个原则,或者至少有些作者决定坚持什么。我不止一次不得不复制和粘贴一些内部模块代码,这确实不理想,因为依赖项中可能发生的版本更改与粘贴的代码不一致(尽管类型会捕获大多数问题)。