4

我正在阅读有关 IxSet 的http://happstack.com/docs/crashcourse/AcidState.html#ixset的一些文档,我想知道如何查看从 Data.IxSet 导入的 Indexable 类型类的来源。

然后我拿了一个 Happstack 的存储库并在那里查看(darcs 获取http://patch-tag.com/r/mae/happstack),但这让我更加沮丧。

我看到了 happstack/happstack-ixset/src/Happstack/Data/IxSet.hs 文件,它创建了一个模块 Happstack.Data.IxSet,但我看不到哪个文件创建了一个模块 Data.IxSet(并实现了类 Indexable) .

4

2 回答 2

5

Haskell 代码的首选地址是hackage在首页上有一个指向Hayoo的链接,这是除了Hoogle之外的另一个主要的 Haskell 搜索引擎。两者都比另一个有优势。

Hayoo 索引所有关于 hackage 的包,默认情况下搜索包括关于 hackage 的所有包。如果你想搜索一个已知的名字,例如Indexable,那是更方便的引擎,特别是如果你不知道这个名字来自哪个包。- 目前 - 第五次击球带你到Data.IxSet.Indexable。在 Haddock 文档的右侧,您可以找到一个Source链接,该链接将您带到 hscoloured 源(在这种情况下,这不是很有用,但是,只有一个类成员,没有默认实现,它不会告诉您任何内容文档)。

默认情况下,Hoogle 仅搜索少量包,如果您想在搜索中包含其他包,则必须通过添加+packagename到搜索中来指定 - 但这会将搜索限制为指定的包。手册中有关 Hoogle 搜索的更多信息。Hoogle 的强项是按类型搜索。Hoogle 的按类型搜索对搜索的类型应用了更多的转换,因此如果您不知道确切的类型,则比 Hayoo 找到更多的匹配项(这并非没有缺点,但是,有时您会得到很多不相关的命中)。如果您搜索 example 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 回答