Answers:
Hoogle可以脱机使用,可以从Cabal安装:http ://hackage.haskell.org/package/hoogle
使用说明位于http://www.haskell.org/haskellwiki/Hoogle#Command_Line_Search_Flags。
用法:
$ hoogle --help
Hoogle v4.2.8, (C) Neil Mitchell 2004-2011
http://haskell.org/hoogle
hoogle [COMMAND] ... [OPTIONS]
Commands:
[search] Perform a search
data Generate Hoogle databases
server Start a Hoogle server
combine Combine multiple databases into one
convert Convert an input file to a database
test Run tests
dump Dump sections of a database to stdout
rank Generate ranking information
log Analyse log files
Common flags:
-? --help Display help message
-V --version Print version information
-v --verbose Loud verbosity
-q --quiet Quiet verbosity
使用创建默认数据库hoogle data
(有关更多信息,请参见http://neilmitchell.blogspot.com/2008/08/hoogle-database-generation.html)。
编辑:本地安装Hoogle后的使用情况会话:
$ hoogle
No query entered
Try --help for command line options
$ hoogle data
(downloads databases...takes a few minutes)
我在这里遇到了一个错误...显然与Cabal的版本有关,所以我对此进行了更新(http://hackage.haskell.org/trac/hackage/ticket/811)。那没有帮助,所以我跑了hoogle data all
,由于花费了很长时间(似乎遍历了Hackage上的每个程序包)而取消了。它仍然不允许类似的查询,hoogle map
但确实允许hoogle map +base
(例如,将搜索限制在base
包中)希望它对您有用!
EDIT2:这似乎可以解决问题(对我来说):
$cd .cabal/share/hoogle-4.2.8/databases
$hoogle combine base.hoo
$hoogle foldl\'
Data.List foldl' :: (a -> b -> a) -> a -> [b] -> a
Data.Foldable foldl' :: Foldable t => (a -> b -> a) -> a -> t b -> a
hoogle data --local
我花了3分钟的时间(大部分时间在下载过程中),然后我可以运行hoogle foldl
它来查找foldl函数,或者hoogle server --local
然后访问http://localhost/
它既是完整的服务器,又包含指向HTML文档的链接。
hoogle data all
并hoogle data --local
执行/下载了大量内容,但是仍然不能让我在包中找到函数(例如parseFileWithMode
)。这应该工作吗?
hoogle +haskell-src-exts parseFile
hoogle server --local
需要更多的可见性。它类似于godoc -http
。
可以.tar.bz2
从Haskell网站下载HTML文档:
https://downloads.haskell.org/~ghc/latest/docs/
我刚刚下载了https://www.haskell.org/ghc/docs/7.6.3/libraries.html.tar.bz2,这正是我一直希望的。
还有其他选项,例如Dash和Zeal,另请参阅reddit thread。
hoogle server --local
如果安装Haskell平台,它将包含GHC文档和GHC库文档(涵盖了核心库)。在Windows上,它们位于“所有程序| Haskell Platform”下的“开始”菜单上。
haskell-platform-doc
可以安装。
它本身可能不是“规范的”,但我认为最有用的选择是dash(OS X)/ zeal +生成的docsets之类的docset软件。这样,您将免费获得搜索,还可以选择构建自定义文档集。可以将其中两个项目的“基础”软件包haddock文档都打开。您可以使用haddocset或dash-haskell构建自定义文档集。它还与emacs / vim / other编辑器很好地集成在一起,允许您拥有基于项目的文档集(这样您就可以在每个项目的基础上获得相关版本,而不必为本地麻烦而烦恼了所有这些麻烦!)并且不要将您限制为您可以拥有的任何构建流程。
如果您使用来构建项目,则cabal-install
可以documentation: True
在中进行设置~/.cabal/config
,然后重新安装依赖项以在本地获取生成的haddocks。
如果使用stack,则可以利用stack haddock
命令来构建依赖关系并使用生成的haddocks项目。
我使用devdocs.io,它具有适用于多种语言和库(包括Haskell)的文档,并且具有脱机模式。
documentation: True
到~/.cabal/config
文件中,然后使用来重新安装这些软件包,从而为已安装的软件包启用文档cabal install world --reinstall
。