Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 模糊接口_Haskell_Functional Programming - Fatal编程技术网

Haskell 模糊接口

Haskell 模糊接口,haskell,functional-programming,Haskell,Functional Programming,我在编译Haskel代码时遇到以下错误 Main.hs:11:1: error: Ambiguous interface for ‘Data.Matrix’: it was found in multiple packages: matrices-0.4.4 matrix-0.3.5.0 我该如何解决这个问题。我不能使用hide,因为它是一个完整的界面。使用hide,您可以使用特定的包限定导入: {-# LANGUAGE PackageImports #-} import

我在编译Haskel代码时遇到以下错误

Main.hs:11:1: error:
    Ambiguous interface for ‘Data.Matrix’:
      it was found in multiple packages: matrices-0.4.4 matrix-0.3.5.0
我该如何解决这个问题。我不能使用hide,因为它是一个完整的界面。

使用hide,您可以使用特定的包限定导入:

{-# LANGUAGE PackageImports #-}
import "matrix" Data.Matrix
然而,正如文档所示,这并不总是一个好主意。还有其他方法可以解决这个问题,包括。例如,您可以使用以下GHC选项将
Data.Matrix
Matrix
更改为其他名称:

-package "matrix (Data.Matrix as Data.OtherMatrix)"
根据具体情况和您的需要,您可以选择最适合您的选项。

使用,您可以使用特定的软件包对导入进行鉴定:

{-# LANGUAGE PackageImports #-}
import "matrix" Data.Matrix
然而,正如文档所示,这并不总是一个好主意。还有其他方法可以解决这个问题,包括。例如,您可以使用以下GHC选项将
Data.Matrix
Matrix
更改为其他名称:

-package "matrix (Data.Matrix as Data.OtherMatrix)"

您可以根据具体情况和需要选择最适合自己的选项。

导致此错误的代码到底是什么?如果您不完整描述您的问题,我们将无法解决。到底是什么代码导致了此错误?如果您不详细描述,我们就无法解决您的问题。我认为有一个更简单的解决方案值得一提:使用
.cabal
文件,不要同时依赖
矩阵和
矩阵。似乎不太可能在单个应用程序/库中真正需要这两个包。@DanielWagner我考虑过提到这一点,但我认为OP需要这两个包,所以这不是一个选项。不过,一般来说,是的,通常只有一个包是可见的,解决了歧义。有一个更简单的解决方案,我认为值得一提:使用
.cabal
文件,不要同时依赖
矩阵和
矩阵。似乎不太可能在单个应用程序/库中真正需要这两个包。@DanielWagner我考虑过提到这一点,但我认为OP需要这两个包,所以这不是一个选项。但是,一般来说,是的,通常只有一个包是可见的,从而解决了歧义。