我想看一下模块中定义的函数代码,比如Data.List或Data.Map。
我可以用
导入Data.List模块import Data.List
然后我可以使用函数nub
或sort
。
我想知道在哪里可以找到这些函数来查看它们的代码。
默认情况下安装的模块在哪个目录中?
PS:Windows 8.1,我安装了Haskell平台。
答案 0 :(得分:2)
该目录包含已编译的模块,因此您无法在那里读取源代码。
您可以做的是在online documentation中找到您的功能,然后点击右侧的“来源”。
答案 1 :(得分:1)
作为@arrowd notes in his answer,
该目录包含已编译的模块,因此您将无法 在此处阅读源代码。
可以直接浏览GHC repo(和its Github mirror),但是有一种更简单的方法:
使用Hoogle或Stackage查找模块/功能所在的软件包
请注意,Hoogle和Stackage是区分大小写的。 (最好使用大写字母查找模块。)
在Hoogle中对<?xml version="1.0"?>
<nwebsec>
<httpHeaderSecurityModule xmlns="http://nwebsec.com/HttpHeaderSecurityModuleConfig.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<redirectValidation enabled="true">
<!-- omitted for brevity -->
</redirectValidation>
<securityHttpHeaders>
<!-- omitted for brevity -->
</securityHttpHeaders>
</httpHeaderSecurityModule>
</nwebsec>
的查询产生一个类似于以下列表的列表。 Stackage的样式略有不同,但基本知识是相同的(主要是因为它使用Hoogle进行查找)。结果标题下的绿色线显示了包含的
(1)个(小写)软件包和
(2)个模块(大写)。
可以有多个具有相同名称的功能,但是模块和软件包名称有助于选择正确的功能。
单击功能/模块名称
点击“ #Source”