如何在haskell中看到模块功能的实现代码?

时间:2017-11-16 09:24:50

标签: haskell module functional-programming

我是Haskell的新手,我知道Haskell标准库被分成modules,每个都包含functionstypes,它们以某种方式相关并且有一些共同的目的。我想看看那些库函数的实现(代码)。我在哪里可以看到它?在ghci中是否有任何命令,以便我可以看到实现或为我提供任何资源来学习模块。 谢谢

1 个答案:

答案 0 :(得分:4)

可能最方便的方法是使用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页面。