web-dev-qa-db-ja.com

Haskellオフラインドキュメント?

Haskellコアライブラリのオフラインドキュメント(およびそれ以上)を入手する可能性はありますか?

Wi-Fiがないコーヒーショップにラップトップを持ち込むこともありますが、 Hoogle のようなものがありますが、オフラインで使用する場合はいいでしょう。

93
Andriy Drozdyuk

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
51
li.davidm

HTMLドキュメントは、Haskell Webサイトから.tar.bz2としてダウンロードできます。

https://downloads.haskell.org/~ghc/latest/docs/

https://www.haskell.org/ghc/docs/7.6.3/libraries.html.tar.bz2 をダウンロードしたばかりで、まさに私が望んでいたものです。

他のオプション DashやZealなど もあり、 そのredditスレッド も参照してください。

21

Haskellプラットフォームをインストールすると、GHCドキュメントとGHCライブラリドキュメント(コアライブラリをカバー)が含まれます。 Windowsでは、[すべてのプログラム| Haskellプラットフォーム]の下の[スタート]メニューにあります。

14
arx

〜/ .cabal/configファイルを編集します。 documentation: Falseという行(おそらくコメント化されている)を探します。その行をdocumentation: Trueに変更して、コメントを外します。これで、cabal installを使用してプロジェクトをビルドすると、ドキュメントもビルドされ、ローカルに保存されます。

同じ設定ファイルをもう少し見てみると、ドキュメントの保存場所を設定できるdoc-index-file、docdir、datadir、prefixなどのオプションがあります。

10
mightybyte

それ自体は「標準」ではないかもしれませんが、最も便利なオプションは dash (OS X)/ - zeal +生成されたドキュメントセットのようなドキュメントセットソフトウェアだと思います。この方法では、無料で検索を取得でき、カスタムドキュメントセットを作成するオプションもあります。どちらのプロジェクトでも、「ベース」パッケージのhaddockドキュメントをすぐに入手できます。 haddocset または dash-haskell でカスタムドキュメントセットを構築できます。また、emacs/vim /その他のエディターとうまく統合され、プロジェクトベースのドキュメントセットを持つことができます(この方法でプロジェクトごとに関連バージョンがありますが、ローカルフーグルでこの面倒をすべて忘れてください!)可能なビルドフローに制限します。

cabal-installを使用してプロジェクトをビルドする場合、documentation: True~/.cabal/configを設定し、依存関係を再インストールして、生成されたハドックをローカルに取得できます。

stack を使用している場合、stack haddockコマンドを使用して、生成されたハドックを使用して依存関係とプロジェクトをビルドできます。

5
dredozubov

devdocs.io を使用します。多くの言語とライブラリ(Haskellを含む)のドキュメントがあり、オフラインモードがあります。

3
stusherwin

Windowsの場合、cygwinのwgetおよびcurlパッケージをインストールします。これにより、hoogle data

1
Pete Klein

Velocity は、まさにそのための無料の美しい普遍的なツールです。幅広い言語、技術、ライブラリ、ワンクリック更新をサポートしています。

おそらく、ドキュメントリストで既に使用しているものの多くを見つけることができるでしょう。

1
hardcore

Debian派生ディストリビューションとそのパッケージを使用している場合は、インストールされているすべてのHaskellパッケージのドキュメントが統合されています(libghc-foo-docパッケージ)

file:///usr/share/doc/ghc-doc/html/libraries/index.html

さらに、libghc-foo-docパッケージには、hoogleに必要なファイルが含まれているため、apt-get install hoogleを選択すると、すぐにhoogleを使用して、この方法でインストールされたすべてのライブラリを検索できるようになります。

0