Haskell 已加载模块对象的模块文件路径
在python中,它是Haskell 已加载模块对象的模块文件路径,haskell,module,Haskell,Module,在python中,它是 import argparser print argparser.__file__ 我的问题是: 如何在haskell中执行相同操作,即使用haskell中加载的模块对象获取模块的文件位置 在haskell中,库文件是不可读的.hi格式。有没有办法安装cabal,我可以将源文件下载到~/.cabal并在本地编译 这并不能完全回答您的问题,但这就是我如何在Haskell中找到模块位置的方法。假设我有一个名为Data.Text的模块,我想找到它的位置。然后我首先发现它的包
import argparser
print argparser.__file__
我的问题是:
- 如何在haskell中执行相同操作,即使用haskell中加载的模块对象获取模块的文件位置
- 在haskell中,库文件是不可读的
格式。有没有办法安装.hi
,我可以将源文件下载到cabal
并在本地编译李>~/.cabal
- 这并不能完全回答您的问题,但这就是我如何在Haskell中找到模块位置的方法。假设我有一个名为
的模块,我想找到它的位置。然后我首先发现它的包名:Data.Text
现在我知道包名是$ ghc-pkg find-module Data.Text /nix/store/cq4qqjii3s9ghr6p59kkrdf44wnyhpp4-ghc-7.8.4/lib/ghc-7.8.4/package.conf.d /home/sibi/.ghc/x86_64-linux-7.8.4/package.conf.d text-1.2.0.4
。现在,我要做的就是使用此命令查找模块位置:text-1.2.0.4
这将给你一个大的输出。您感兴趣的字段是$ ghc-pkg describe text-1.2.0.4 # (Just text should also work)
和导入目录
库目录
要查找已安装软件包的来源,您可以使用@Martin提到的
。这并不能完全回答您的问题,但这就是我在Haskell中查找模块位置的方法。假设我有一个名为cabal get
的模块,我想找到它的位置。然后我首先发现它的包名:Data.Text
现在我知道包名是$ ghc-pkg find-module Data.Text /nix/store/cq4qqjii3s9ghr6p59kkrdf44wnyhpp4-ghc-7.8.4/lib/ghc-7.8.4/package.conf.d /home/sibi/.ghc/x86_64-linux-7.8.4/package.conf.d text-1.2.0.4
。现在,我要做的就是使用此命令查找模块位置:text-1.2.0.4
这将给你一个大的输出。您感兴趣的字段是$ ghc-pkg describe text-1.2.0.4 # (Just text should also work)
和导入目录
库目录
要查找已安装软件包的源代码,您可以使用@Martin提到的
。我很确定您不能在Haskell中做第一件事。但是,如果您只想自己找到该路径,可以使用以下命令cabal get
ghc-pkg describe <package>
其中,ghc包装描述
是模块所属包的名称 要下载软件包的源代码,只需使用cabal get <package>
阴谋集团
它会将没有任何依赖项的源代码下载到您当前目录中的一个目录中。我很确定您不能在Haskell中做第一件事。但是,如果您只想自己找到该路径,可以使用以下命令ghc-pkg describe <package>
其中,ghc包装描述
是模块所属包的名称 要下载软件包的源代码,只需使用cabal get <package>
阴谋集团
它会将没有任何依赖关系的源代码下载到您当前目录中的目录
。后者可以通过-
实现。但是老实说,从cabal get
的文档中可以明显看出这一点。后者可以通过cabal install
实现。但老实说,从cabal get
阴谋集团安装的文档中可以明显看出这一点。