我想在ghci中进行测试,但我遇到了不同包中同名模块的问题(这基本上是我之前的一个问题的延续:如果两个模块共享相同的名称应该怎么办?)。
涉及的软件包是
然而,似乎使用
这个可以在ghci中工作:
此外,这个也不起作用:
出现的错误是:
我做错了什么还是这是一个bug?
涉及的软件包是
crypto-api
、cryptonite
和DRBG
。它们都提供涉及Crypto.Random
的模块。我在ghci中使用PackageImports
来解决这个问题。然而,似乎使用
PackageImports
的顺序很重要。这个可以在ghci中工作:
:set -XPackageImports
import Crypto.Random.DRBG
import "crypto-api" Crypto.Random
这种方法行不通:
:set -XPackageImports
import "crypto-api" Crypto.Random
import Crypto.Random.DRBG -- Error!
此外,这个也不起作用:
:set -XPackageImports
import "crypto-api" Crypto.Random
import "DRBG" Crypto.Random.DRBG -- Error!
出现的错误是:
<interactive>:1:1: error:
Ambiguous interface for ‘Crypto.Random’:
it was found in multiple packages:
crypto-api-0.13.2 cryptonite-0.23
我做错了什么还是这是一个bug?