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