4

IxSet のhttp://happstack.com/docs/crashcourse/AcidState.html#ixsetに関するドキュメントを読んでいますが、Data.IxSet からインポートされた Indexable 型クラスのソースを調べることについて疑問に思っていました。

それで、私は Happstack のリポジトリを取得してそこを調べました (darcs はhttp://patch-tag.com/r/mae/happstackを取得します) が、さらに大きなフラストレーションを感じました。

モジュール Happstack.Data.IxSet を作成する happstack/happstack-ixset/src/Happstack/Data/IxSet.hs ファイルが表示されますが、どのファイルがモジュール Data.IxSet を作成するか (およびクラス Indexable を実装するか) を確認できません。 .

4

2 に答える 2

5

Haskell コードのアドレスはhackageです。フロントページには、 Hoogleの他に主要な Haskell 検索エンジンであるHayooへのリンクがあります。どちらも他に勝る利点があります。

Hayoo は hackage のすべてのパッケージにインデックスを付け、検索にはデフォルトで hackage のすべてのパッケージが含まれます。たとえばIndexable、既知の名前を検索したい場合、特にその名前がどのパッケージに由来するかわからない場合は、より便利なエンジンです。現在の 5 番目のヒットで に移動しますData.IxSet.Indexable。Haddock docs の右側に、色分けされたソースに移動するSourceリンクがあります (この場合、あまり有益ではありませんが、クラス メンバーは 1 つしかなく、デフォルトの実装がなく、ドキュメント)。

Hoogle はデフォルトで少数のパッケージのみを検索します。検索に他のパッケージを含めたい場合は、検索に追加+packagenameして指定する必要がありますが、指定したパッケージに検索を制限します。Hoogle 検索の詳細については、マニュアルを参照してください。Hoogle の強みは、種類による検索です。Hoogle のタイプによる検索は、検索されたタイプにより多くの変換を適用するため、正確なタイプがわからない場合は、Hayoo のものよりも多くの一致が見つかります (これには欠点がないわけではありませんが、無関係なヒットが多数得られる場合があります)。たとえば を検索するとMap k a -> k -> Maybe a、Hoogle の最初の結果が最も可能性の高い候補Data.Map.lookup :: Ord k => k -> Map k a -> Maybe aであるのに対し、Hayoo は引数を並べ替えないため、それを見つけられません。

いずれにせよ、両方の検索エンジンは、照会されたエンティティーの hackage の Haddock ドキュメントに誘導し (検索が成功した場合)、必要に応じてSourceリンクからコードに移動します。

于 2013-01-13T12:45:35.753 に答える
1

ローカルで生成された、またはオンラインの Haddock ドキュメントを使用します。通常、Google 検索では、関連するドキュメントが上部に表示されます。ドキュメントは相互リンクされているため、必要なモジュールを参照できます。たとえば、各定義の横にソースへのリンクがあります。

この特定のモジュールは、基本ライブラリ セットに属しています。

于 2013-01-13T07:48:12.523 に答える