也许我遗漏了一些东西,但是有没有办法在一些关于hackage的包中搜索?
假设我知道 Snap 框架有一个名为render
. 我如何从它的 hackage 页面开始找到它:http:
//hackage.haskell.org/package/snap-0.9.0.1
也许我遗漏了一些东西,但是有没有办法在一些关于hackage的包中搜索?
假设我知道 Snap 框架有一个名为render
. 我如何从它的 hackage 页面开始找到它:http:
//hackage.haskell.org/package/snap-0.9.0.1
您可以使用搜索运算符为此使用Hoogle(以及其他许多事情) 。+package
默认情况下,Hoogle 将在一组标准的包中按名称或类型进行搜索:
traverse
会发现:
traverse :: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
traverse_ :: (Foldable t, Applicative f) => (a -> f b) -> t a -> f ()
(a -> b -> c) -> f a -> f b -> f c
会发现:
liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r
liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f c
现在,这很好,很漂亮,但是其他包呢?如果你搜索render
,你会发现Render :: RenderMode
from OpenGL、render :: Doc -> String
from pretty和其他一些东西;默认情况下不搜索 snap 包。
但是,如果您在搜索中添加+packagename
或添加+Module.Name
,Hoogle 将仅在指定的包内进行搜索(并-packagename
从-Module.Name
搜索中删除包/模块)。因此,搜索+snap render
只能找到以下三件事:
render :: HasHeist b => ByteString -> Handler b v ()
renderAs :: HasHeist b => ByteString -> ByteString -> Handler b v ()
renderWithSplices :: HasHeist b => ByteString -> [(Text, SnapletSplice b v)] -> Handler b v ()
For more information on using Hoogle, you can check its manual on the Haskell wiki.
单击包中某个模块的链接。然后在右上角,有一个索引链接。单击它,然后单击指向所需功能开头的字母的链接。