我是Haskell的新手,我知道Haskell标准库被分为模块
,每个模块包含一些相关的函数
和类型
,并且拥有共同的用途。我想查看这些库函数的实现(代码)。我可以在哪里看到?是否有任何命令在ghci
中可以查看实现或提供任何关于模块学习的资源。
谢谢
我是Haskell的新手,我知道Haskell标准库被分为模块
,每个模块包含一些相关的函数
和类型
,并且拥有共同的用途。我想查看这些库函数的实现(代码)。我可以在哪里看到?是否有任何命令在ghci
中可以查看实现或提供任何关于模块学习的资源。
谢谢
最方便的方法是使用Hackage。例如,您可以通过单击函数签名右侧的Source
来查看map
函数。这将显示突出显示的代码片段。例如:
map :: (a -> b) -> [a] -> [b]
{-# NOINLINE [0] map #-}
-- We want the RULEs "map" and "map/coerce" to fire first.
-- map is recursive, so won't inline anyway,
-- but saying so is more explicit, and silences warnings
map _ [] = []
map f (x:xs) = f x : map f xs
您还可以使用Hoogle按名称或签名搜索函数,并通过单击结果,将重定向到相关的hackage页面。