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


94

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

ラップトップをWi-Fiのないコーヒーショップに持って行くこともあるので、Hoogleのようなものをオフラインで使用するのはいいことです。

回答:


53

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

15
また、インストールしたパッケージのドキュメントを有効にしたい場合はdocumentation: True~/.cabal/configファイルに追加してから、それらのパッケージをで再インストールしますcabal install world --reinstall
Hammar

2
hoogle data --local3分かかりました(ほとんどがダウンロードでした)。次にhoogle foldl、foldl関数を検出して実行するか、フルサーバーであり、HTMLドキュメントへのリンクを含むにhoogle server --localアクセスhttp://localhost/します。
ニールミッチェル

1
@NeilMitchell hoogle data allhoogle data --local多くのことを行う/ダウンロードしますが、それでもパッケージ内の関数を見つけることができません(例:)parseFileWithMode。これは動作するはずですか?
nh2 2012

1
@ nh2:デフォルトでは、Hoogleはプラットフォームのみを検索します。試してくださいhoogle +haskell-src-exts parseFile
Neil Mitchell

1
hoogle server --localより多くの可視性が必要です。これは、たとえばに類似していgodoc -httpます。
sjakobi 2014

21

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

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

https://www.haskell.org/ghc/docs/7.6.3/libraries.html.tar.bz2をダウンロードしたところ、まさにそれが期待されていました。

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


最新の回答ではありません:(最初のリンクが壊れているようです
。– MaiaVictor

そこにそれがある。ありがとうございました!
MaiaVictor 2015年

それは私にとって最良の答えです。なぜなら、私は目的を達成できなかったからですhoogle server --local
user24601

14

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


知ってよかったです。Linuxにはそのようなものはありますか?
Andriy Drozdyuk、2012

Haskellプラットフォームは、さまざまなOSでほぼ同じであると思われますが、Linuxでは使用していません。インストールされている場合は、ファイル「Data-Binary.html」(Data.Binaryのドキュメント)を検索して、ドキュメントがどこかにインストールされているかどうかを確認します。
arx

4
@drozzy:Debian / Ubuntuでは、haskell-platform-docインストールできるようなドキュメントパッケージがあると思います。
li.davidm 2012

haskellプラットフォームはもうメンテナンスされず、常に古くなっているので、これを適切な回答とは見なしませんでした
dredozubov '27 / 10/27

1
@dredozubovソース?今後メンテナンスされないことについては何も見つかりません。
Andriy Drozdyuk 16

10

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

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


5

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

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

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


3

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


1

速度は、それを行うための無料で美しいユニバーサルツールです。幅広い言語、テクノロジー、ライブラリをサポートし、ワンクリックで更新できます。

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


1

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


0

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

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.