Haskell “哈斯克尔”;“人”;页?
Haskell中的每个函数都有手册页吗?换句话说,我是否可以在某处键入Haskell “哈斯克尔”;“人”;页?,haskell,manpage,Haskell,Manpage,Haskell中的每个函数都有手册页吗?换句话说,我是否可以在某处键入man fst,并获得有关该功能的帮助页面?我发现函数的丰富性让人无法抗拒 我使用的是GHC和GHCi。我不知道这方面有什么命令行工具,但您可以使用它来查找函数的类型、其文档的快速摘要以及基于其名称的完整在线文档的链接 它甚至以另一种方式工作:从一个类型转换为与该类型匹配的函数!如果您认为函数必须为特定目的而存在,但不知道它被调用了什么或它在哪里,那么这是非常有用的 还有,它搜索整个库(而Hoogle只搜索标准库),但对于这个
man fst
,并获得有关该功能的帮助页面?我发现函数的丰富性让人无法抗拒
我使用的是GHC和GHCi。我不知道这方面有什么命令行工具,但您可以使用它来查找函数的类型、其文档的快速摘要以及基于其名称的完整在线文档的链接 它甚至以另一种方式工作:从一个类型转换为与该类型匹配的函数!如果您认为函数必须为特定目的而存在,但不知道它被调用了什么或它在哪里,那么这是非常有用的 还有,它搜索整个库(而Hoogle只搜索标准库),但对于这个特定目的,它可能不太有用:搜索“fst”首先返回过时的
haskell98
包,然后返回相关的base
包
在GHCi中,您通常可以通过检查函数的类型来获得有关函数的一些信息;例如,如果你这样做
GHCi> :t fst
fst :: (a, b) -> a
然后您就知道fst
必须返回您给它的元组的第一个元素,因为。我发现它对:
然后您可以在GHCi中执行此操作:
ghci> :doc fst
Prelude fst :: (a, b) -> a
Extract the first component of a pair.
From package base
fst :: (a, b) -> a
@是的,但据我所知,命令行工具没有包含或链接到文档。我相信Leksah也有某种(基于hoogle的?)文档浏览器。@DanBurton和EclipseFP一样。听起来是个有趣的想法(作为haddock的后端)我唯一的抱怨是它没有在
x
中正确地逃逸“
。我认为最好以更典型的Haskell方式调用hoogle
,而不是使用GHCi的:!
。
ghci> :doc fst
Prelude fst :: (a, b) -> a
Extract the first component of a pair.
From package base
fst :: (a, b) -> a