Haskellコアライブラリ(およびおそらくそれ以上)のオフラインドキュメントを取得する可能性はありますか?
ラップトップをWi-Fiのないコーヒーショップに持って行くこともあるので、Hoogleのようなものをオフラインで使用するのはいいことです。
Haskellコアライブラリ(およびおそらくそれ以上)のオフラインドキュメントを取得する可能性はありますか?
ラップトップをWi-Fiのないコーヒーショップに持って行くこともあるので、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 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
hoogle data --local
3分かかりました(ほとんどがダウンロードでした)。次にhoogle foldl
、foldl関数を検出して実行するか、フルサーバーであり、HTMLドキュメントへのリンクを含むにhoogle server --local
アクセスhttp://localhost/
します。
hoogle data all
やhoogle data --local
多くのことを行う/ダウンロードしますが、それでもパッケージ内の関数を見つけることができません(例:)parseFileWithMode
。これは動作するはずですか?
hoogle +haskell-src-exts parseFile
hoogle server --local
より多くの可視性が必要です。これは、たとえばに類似していgodoc -http
ます。
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も参照してください。
hoogle server --local
Haskellプラットフォームをインストールすると、GHCドキュメントとGHCライブラリドキュメント(コアライブラリをカバーする)が含まれます。Windowsでは、[すべてのプログラム| Haskell Platform]の[スタート]メニューにあります。
haskell-platform-doc
インストールできるようなドキュメントパッケージがあると思います。
それ自体は「正規」ではないかもしれませんが、最も便利なオプションは、ダッシュ(OS X)/ zeal +生成されたドキュメントセットのようなドキュメントセットソフトウェアだと思います。このようにして、無料で検索を行うことができます。また、カスタムドキュメントセットを作成するオプションも用意されています。'base'パッケージのhaddockのドキュメントをどちらのプロジェクトでもすぐに使用できるようにしても問題ありません。haddocsetまたはdash-haskellを使用してカスタムドキュメントセットを構築できます。また、emacs / vim /その他のエディターとうまく統合し、プロジェクトベースのドキュメントセットを作成できるようにします(このようにして、プロジェクトごとに関連するバージョンを作成し、ローカルのフーグルでこの面倒な作業をすべて忘れてください!)。可能なビルドフローに制限します。
でcabal-install
設定できるプロジェクトをビルドする場合は、依存関係を再インストールdocumentation: True
して~/.cabal/config
、ローカルで生成されたハドックを取得します。
stackを使用している場合は、stack haddock
コマンドを使用して依存関係を構築し、生成されたハドックでプロジェクトを作成できます。
私はdevdocs.ioを使用しています。これには、多くの言語とライブラリ(Haskellを含む)のドキュメントがあり、オフラインモードがあります。
たまたまDebian派生ディストリビューションとそのパッケージを使用している場合は、インストールされているすべてのHaskellパッケージ(パッケージもインストールしている場合)をまとめたドキュメントが次の場所にありlibghc-foo-doc
ます。
file:///usr/share/doc/ghc-doc/html/libraries/index.html
さらに、libghc-foo-doc
パッケージにはhoogleに必要なファイルが含まれているため、を使用するとapt-get install hoogle
、すぐにhoogle
この方法でインストールされたすべてのライブラリを検索できるようになります。
documentation: True
、~/.cabal/config
ファイルに追加してから、それらのパッケージをで再インストールしますcabal install world --reinstall
。