为Haskell核心库(以及更多)获取脱机文档有什么可能性?
有时候我会将笔记本电脑带到没有wifi的咖啡店,而且有Hoogle之类的东西可以用于离线使用。
答案 0 :(得分:50)
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
答案 1 :(得分:20)
HTML文档可以从Haskell网站下载.tar.bz2
:
https://downloads.haskell.org/~ghc/latest/docs/
我刚刚下载了https://www.haskell.org/ghc/docs/7.6.3/libraries.html.tar.bz2,这正是我一直希望的。
还有其他选项such as Dash and Zeal,另请参阅that reddit thread。
答案 2 :(得分:14)
如果安装Haskell平台,它包括GHC文档和GHC库文档(涵盖核心库)。在Windows上,它们位于“所有程序| Haskell平台”下的“开始”菜单中。
答案 3 :(得分:10)
编辑你的〜/ .cabal / config文件。查找documentation: False
所示的行(可能已注释掉)。将该行更改为documentation: True
并取消注释。现在,当您使用cabal install
构建项目时,也将构建并保存在本地。
在相同的配置文件中查看更多内容,您将找到诸如doc-index-file,docdir,datadir,prefix等之类的选项,允许您配置文档的存储位置。
答案 4 :(得分:5)
它可能不是"规范"本身,但我相信最有用的选项是docset软件,如dash(OS X)/ zeal +生成的docsets。通过这种方式,您可以免费获得搜索,还可以选择构建自定义文档集。获得'基础'是没有问题的。将haddock文档与开箱即用的任一项目打包在一起。您可以使用haddocset或dash-haskell构建自定义文档集。它还与emacs / vim /其他编辑很好地集成,允许你拥有基于项目的文档集(你可以通过这种方式在每个项目的基础上拥有相关版本,忘记所有这些与本地hoogle的麻烦!)和don& #39; t限制你可以拥有的任何构建流程。
如果使用cabal-install
构建项目,可以在documentation: True
中设置~/.cabal/config
,然后重新安装依赖项以在本地生成haddocks。
如果您正在使用stack,则可以使用stack haddock
命令构建依赖关系并使用生成的haddocks进行投影。
答案 5 :(得分:3)
我使用devdocs.io,它有很多语言和库(包括Haskell)的文档,并且有离线模式。
答案 6 :(得分:1)
Velocity是一个自由而美丽的通用工具。它支持各种语言,技术和库,以及一次点击更新。
您可能会在其文档列表中找到更多已经使用的内容。
答案 7 :(得分:1)
对于Windows,请安装cygwin的wget和curl包。这将启用fi.setStyle("-fx-background-color: #00C275;")
。
答案 8 :(得分:0)
如果您正在使用Debian派生的发行版及其软件包,那么您将在
找到所有已安装的Haskell软件包的组合文档(如果您还安装了AMC$ExamMCH<-AMC$Exams_H
AMC$ExamMCH<-factor(NA,levels=c("yes", "no"))
AMC$ExamMCH[AMC$Exams_H=="2-4 times"]<-"yes"
AMC$ExamMCH[AMC$Exams_H=="0 times"]<-"no"
summary(AMC$ExamMCH)
AMC$ExamMCI<-AMC$Exams_I
AMC$ExamMCI<-factor(NA,levels=c("yes", "no"))
AMC$ExamMCI[AMC$Exams_I==">4 times"|AMC$Exams_I=="2-4 times"|AMC$Exams_I=="1 time"]<-"yes"
AMC$ExamMCI[AMC$Exams_I=="0 times"]<-"no"
summary(AMC$ExamMCI)
AMC$ExamMC<-merge(AMC$ExamMCA, AMC$ExamMCB, AMC$ExamMCC, AMC$ExamMCD, AMC$ExamMCE, AMC$ExamMCF, AMC$ExamMCG, AMC$ExamMCH, AMC$ExamMCI by="yes")
AMC$ExamMC<-factor(NA,levels=c("committed AMC", "hasn't committed AMC"))
AMC$ExamMC[AMC$ExamMCA=="yes"& AMC$ExamMCB=="yes"& AMC$ExamMCC=="yes" AMC$ExamMCD=="yes"|AMC$ExamMCE=="yes"|AMC$ExamMCF=="yes"|AMC$ExamMCG=="yes"|AMC$ExamMCH=="yes"|AMC$ExamMCI=="yes"]<-"committed AMC"
AMC$ExamMC[AMC$ExamMCA=="no"|AMC$ExamMCB=="no"|AMC$ExamMCC=="no"|AMC$ExamMCD=="no"|AMC$ExamMCE=="no"|AMC$ExamMCF=="no"|AMC$ExamMCG=="no"|AMC$ExamMCH=="no"|AMC$ExamMCI=="no"]<-"hasn't committed AMC"
summary(AMC$ExamMC)
软件包)
libghc-foo-doc
此外,file:///usr/share/doc/ghc-doc/html/libraries/index.html
软件包包含了必要的hoogle文件,因此,如果您libghc-foo-doc
,那么您应该能够立即使用apt-get install hoogle
搜索以这种方式安装的所有库。