gpt4 book ai didi

haskell - 我如何确定哪些导入来自 Haskell?

转载 作者:行者123 更新时间:2023-12-02 17:11:24 26 4
gpt4 key购买 nike

我的包中有一堆导入文件和 need to找出哪些来自特定的包(MissingH)。除了在 Hoogle 上搜索每个内容之外,我不知道如何做到这一点。有没有办法以编程方式或通过命令行扫描我的包文件来执行此操作?

这是我的导入列表(来自 my package 的所有文件):

import           Control.Arrow
import Control.Exception (assert)
import Control.Monad (unless)
import Control.Monad.Except
import Control.Monad.Zip
import Control.Applicative
import Data.Monoid
import Data.List
import Data.List.Split (splitOn)
import qualified Data.Map as M
import Data.Maybe
import Text.Printf (printf)
import Data.Char (toUpper)
import Data.String.Utils (replace)

import Data.Char (chr, ord)
import Data.List (sort)

import Control.Applicative
import Data.Monoid
import Data.Char
import Data.List
import Data.List.Split (chunksOf)
import Data.String.Utils (replace)
import Text.Printf (printf)

最佳答案

您可以询问 GHC 它认为模块来自哪里(如果您已经安装了提供该模块的软件包)。

% ghc-pkg find-module Data.Maybe
/usr/local/lib/ghc-8.2.2/package.conf.d
base-4.10.1.0
/home/dmwit/.ghc/x86_64-linux-8.2.2/package.conf.d
(no packages)

您可能可以编写一些快速脚本来自动调用此脚本并覆盖人们实际编写的 99.9% 的代码。您可能还想滥用graphmod -- 使用它创建模块图,然后忽略该图的所有结构,只迭代它为您发现的模块名称列表,并对每个模块调用 ghc-pkg 。

...但是从 cabal 文件的依赖项中删除 MissingH 可能会更快(您正在使用 stack 或 cabal 等构建工具,对吗?)并查看 GHC 提示的是哪些导入。

关于haskell - 我如何确定哪些导入来自 Haskell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52743115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com