4

Haskell 中的每个函数都有手册页吗?换句话说,我可以在man fst某处键入并获得有关该功能的手册或帮助页面吗?我发现大量的功能势不可挡!

我正在使用 GHC 和 GHCi。

4

2 回答 2

9

我不知道这方面的命令行工具,但您可以使用Hoogle查找函数的类型、其文档的快速摘要以及基于其名称的完整在线文档的链接。

它甚至可以以另一种方式工作:从一个类型到匹配该类型的函数!如果您认为某个函数必须为特定目的而存在,但不知道它被调用什么或它在哪里,这将非常有用。

还有Hayoo,它搜索整个Hackage(而 Hoogle 只搜索标准库),但对于这个特定目的它可能不太有用:搜索“fst”haskell98首先返回过时的包,然后是相关的base包。

在 GHCi 中,您通常可以通过检查函数的类型来了解函数的作用;例如,如果你这样做

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

那么你知道它fst必须返回你给它的元组的第一个元素,因为这就是那种类型的函数所能做

于 2012-05-12T21:49:29.323 回答
3

我发现将 Hoogle 集成到 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
于 2015-10-26T13:46:23.460 回答