也许我遗漏了一些东西,但是有没有办法在一些关于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 rliftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f c现在,这很好,很漂亮,但是其他包呢?如果你搜索render,你会发现Render :: RenderModefrom OpenGL、render :: Doc -> Stringfrom 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.
单击包中某个模块的链接。然后在右上角,有一个索引链接。单击它,然后单击指向所需功能开头的字母的链接。