获取 Haskell 核心库(也许更多)的离线文档的可能性是什么(如果有)?
有时我会带着我的笔记本电脑去没有 wifi 的咖啡店,如果有像 Hoogle 这样的东西就好了但供离线使用。
最佳答案
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 数据
创建默认数据库(更多信息请访问 http://neilmitchell.blogspot.com/2008/08/hoogle-database-generation.html)。
编辑:本地安装 Hoogle 后的使用 session :
$ 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
关于Haskell 离线文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9454793/