Mac环境下Haskell模块MissingH安装后的使用与相关疑问
Haskell MissingH 相关问题解答
1. 在GHCI中导入并使用MissingH的函数
- 启动GHCI时直接指定加载MissingH包:
ghci -package MissingH - 若已进入GHCI,先执行命令启用包:
:set -package MissingH - 之后导入MissingH下的具体模块(比如常用的
Data.String.Utils),即可调用其中函数:import Data.String.Utils -- 示例:用splitOn分割字符串 splitOn "," "apple,banana,orange"
2. 查看已安装的所有模块/包
- 查看所有已安装包:
cabal list --installed # 或用ghc-pkg工具 ghc-pkg list - 查看单个包下的所有模块(以MissingH为例):
ghc-pkg describe MissingH | grep modules - 在GHCI中查看已加载包的模块(需先加载对应包):
:browse MissingH
3. MissingH不属于Data.String的一部分
Data.String是Haskell基础库base自带的模块,MissingH是独立的第三方包。MissingH仅将部分模块(如Data.String.Utils)放在Data.String命名空间下,两者属于完全独立的包/模块体系,因此导入Data.String不会自动包含MissingH的内容,必须单独导入MissingH的对应模块。
4. 指定包路径的环境变量
GHC_PACKAGE_PATH:用于指定额外的GHC包数据库路径,多路径用冒号分隔,示例:export GHC_PACKAGE_PATH=/path/to/your/custom/pkgdb:$GHC_PACKAGE_PATHCABAL_DIR:指定cabal的配置与包存储目录,默认路径为~/.cabal,可通过该变量修改:export CABAL_DIR=/path/to/custom/cabal-dir
类似Python pip freeze的已安装包查看命令
- 直接列出所有已安装包及版本:
cabal list --installed - 生成简洁的包名+版本列表(贴近
pip freeze输出格式):ghc-pkg list --simple-output | awk '{print $1}'
内容的提问来源于stack exchange,提问作者blispr
相关产品推荐
相关产品推荐

