2012-05-12 17 views
3

ハスケルの個々の機能に関するマニュアルページはありますか?言い換えれば、どこかでman fstと入力して、機能に関する人やヘルプページを入手できますか?私は圧倒的な機能の豊富さを見いだしています!Haskellの "man"ページ?

私はGHCとGHCiを使用しています。

+1

は(ハドックのバックエンドとして)を実装するのも楽しいアイデアのように聞こえます。 –

答えて

9

コマンドラインツールについてはわかりませんが、Hoogleを使用すると、関数の種類、そのドキュメントの概要、名前に基づいた完全なオンラインドキュメントへのリンクを見つけることができます。

これは、もう1つの方法でも機能します。あるタイプからそのタイプに一致する関数に進むことです!これは、関数が特定の目的のために存在しなければならないと思っていても、それが何の名前か、どこにあるのかを知らない場合に非常に便利です。

も(Hoogleのみ標準ライブラリを検索するのに対し)Hackage全体を検索Hayoo、ありますが、それはおそらく、この特定の目的のためにあまり有用だ:「FST」の検索最初時代遅れhaskell98パッケージを返し、関連するbaseパッケージ3番。

GHCiの中では、関数の種類を調べるだけで何かに関する情報を得ることができます。あなたは

GHCi> :t fst 
fst :: (a, b) -> a 

をすれば、たとえば、あなたはthat's all a function of that type can doのでfstは、あなたがそれを与えるタプルの最初の要素を返す必要があることを知っています。

+3

I - hoogleもコマンドラインツールです –

+0

@ ThomasM.DuBuisson:うん、わかっている限り、私が知っている限り、コマンドラインツールにはドキュメントが含まれていません。 – ehird

+0

私はLeksahにもある種の(Googleベースの?)ドキュメントブラウザがあると思います。 –

2

私はintegrate Hoogle into GHCiにそれが有用であることが判明:

$ cabal install hoogle 
$ echo >> ~/.ghci ':def doc \x -> return $ ":!hoogle --info \"" ++ x ++ "\""' 

Download and build Hoogle databases: 
$ hoogle data 

次にあなたがGHCiの内部でこれを行うことができます:

ghci> :doc fst 
Prelude fst :: (a, b) -> a 

Extract the first component of a pair. 

From package base 
fst :: (a, b) -> a 
+0

これは、 '' 'x''で' ''を正しくエスケープしないということだけです。私は、GHCiの ':!'を使うのではなく、もっと典型的なHaskellの方法で 'hoogle'を呼び出す方がよいと思います。 – dfeuer

関連する問題