ghc 如何解析库的路径?

How does ghc resolve paths for libraries ?

我开始使用 haskell 和 nixpkgs。从 the official guide to nixpkgs 我读到:

GHC expects to find all installed libraries inside of its own lib directory.

正如它所说的那样,它似乎是在说 ghc 要求所有库都安装在同一路径中。

我认为 ghc 能够通过查看通过 ghc-pkg 配置的包数据库来找出库的路径。 如果是这种情况,应该可以将库放在不同的目录下 文件系统中的目录并配置 package-db 来解析这些不同的路径。 但这与上面所说的link相矛盾,所以我没有得到什么?

提前感谢您的回答。

GHC 有几个命令行选项,可让您控制它搜索包的方式:

https://downloads.haskell.org/~ghc/7.10.3/docs/html/users_guide/flag-reference.html#idp46686514389712

简而言之,GHC 允许您指定一堆包目录(如包数据库搜索路径),因此您可以让它访问不同目录中的库。