如何在已安装的包中查找符号

时间:2012-11-25 09:55:25

标签: haskell symbols ghci

当我需要查找包含符号的包时,我会使用Google或Hoogle。 99%的案例我发现了对Hackage的引用(这很好)。

有在本地查找的方法吗?

示例:

$ ghci
Prelude> :i MonadState
Not in scope: data constructor `MonadState'

然后我搜索“hackage MonadState”并找到

http://hackage.haskell.org/.../Control-Monad-State-Class.html

然后:

Prelude> :m Control.Monad.State
Prelude> etc...

你好吗?

非常感谢!

1 个答案:

答案 0 :(得分:5)

要在本地安装的软件包中搜索符号,请使用hoogle

$ cabal install hoogle
...

# generate a database of symbols
$ hoogle data
...

$ hoogle search MonadState
Control.Monad.State.Class class Monad m => MonadState s m | m -> s
Control.Monad.State.Lazy class Monad m => MonadState s m | m -> s
Control.Monad.State.Strict class Monad m => MonadState s m | m -> s