Haskell模块源的默认路径是什么(Prelude等)?

时间:2018-04-09 00:18:45

标签: haskell

我想在我的机器上浏览已安装的Haskell模块的源代码。 Haskell import的默认搜索路径是什么?

1 个答案:

答案 0 :(得分:4)

因此这里存在一些阻抗不匹配,因为包通常作为二进制文件安装(尽管获取二进制文件的最常用方法是从源代码构建)。不过,这还不错。粗略的计划是从模块名称映射到包/版本对,然后请求cabal解压缩该包版本的副本。

假设我想阅读Data.Text的来源。然后:

% ghc-pkg find-module Data.Text
/usr/local/lib/ghc-8.2.1/package.conf.d
    (no packages)
/home/dmwit/.ghc/x86_64-linux-8.2.1/package.conf.d
    text-1.2.2.2
% cabal unpack text-1.2.2.2
Unpacking to text-1.2.2.2/

现在,您将拥有一个text-1.2.2.2目录,其中包含text包的来源 - 包括text-1.2.2.2/Data/Text.hs中包含Data.Text模块源的文件。< / p>