我正在阅读有关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) .
Haskell代码的首选地址是hackage.在头版上方便地链接到Hayoo,除了Hoogle之外还有另一个主要的Haskell搜索引擎.两者都有优势.
Hayoo为hackage上的所有软件包编制索引,默认搜索包括hackage上的所有软件包.如果要搜索已知名称,例如Indexable,这是更方便的引擎,特别是如果您不知道名称来自哪个包.- 目前 - 第五次击中带你去Data.IxSet.Indexable.在Haddock文档的右侧,您会找到一个Source链接,它将您带到hscoloured源(在这种情况下,这不是非常有用的,但是,只有一个类成员,没有默认实现,它告诉您没有上面的内容文档).
默认情况下,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没有找到,因为它不会置换参数.
无论哪种方式,两个搜索引擎都会引导您查询被查询实体的Haddock文档(如果搜索成功)Source,如果您愿意,链接会将您带到代码中.