Haskell离线文档?

时间:2012-02-26 16:27:19

标签: haskell offline-mode

为Haskell核心库(以及更多)获取脱机文档有什么可能性?

有时候我会将笔记本电脑带到没有wifi的咖啡店,而且有Hoogle之类的东西可以用于离线使用。

9 个答案:

答案 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文档与开箱即用的任一项目打包在一起。您可以使用haddocsetdash-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搜索以这种方式安装的所有库。