是否有针对该模块指定包名的方式:browse,:load或:module在ghci的命令(6.12.1版本)?
一些模块名称含糊不清:
Prelude> :module Control.Monad.Cont
<no location info>:
Ambiguous module name `Control.Monad.Cont':
it was found in multiple packages: mtl-1.1.0.2 monads-fd-0.1.0.2
Run Code Online (Sandbox Code Playgroud)
设置-hide-package选项是我唯一可以做的事情来避免歧义吗?
Tho*_*son 33
据我所知,是的.但它不一定是大问题,你可以在ghci中做到这一点:
Prelude Data.List> :set -hide-package mtl
package flags have changed, resetting and loading new packages...
Prelude> import Control.Monad.Cont
Prelude Control.Monad.Cont>
Run Code Online (Sandbox Code Playgroud)
GHC-7更改日志上还有一个项目,让我觉得软件包导入可以在命令行上运行,但它似乎还没有(见下文).更改注释表示类似"GHCi支持的完全导入语法",这必须排除我认为的扩展.
$ ghci-7.0.0.20100924 -XPackageImports
GHCi, version 7.0.0.20100924: http://www.haskell.org/ghc/ :? for help
...
Prelude Data.List> import "mtl" Control.Monad.Cont
<no location info>:
Ambiguous module name `Control.Monad.Cont':
it was found in multiple packages: mtl-1.1.1.0 monads-fd-0.1.0.2
Run Code Online (Sandbox Code Playgroud)
kee*_*gan 15
设置
-hide-package选项是我唯一可以做的事情来避免歧义吗?
你可以使用ghc-pkg,例如
$ ghc-pkg hide monads-fd
Run Code Online (Sandbox Code Playgroud)
这就像设置-hide-package在每个后续ghc调用.明确取决于monads-fdvia Cabal的包不会受到影响,但其他一切都会受到影响.小心!
| 归档时间: |
|
| 查看次数: |
5709 次 |
| 最近记录: |