模糊界面

时间:2017-03-16 22:51:04

标签: 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,因为它是整个界面是不明确的。

1 个答案:

答案 0 :(得分:5)

使用the PackageImports language extension,您可以使用特定包来限定导入:

{-# LANGUAGE PackageImports #-}
import "matrix" Data.Matrix

但是,正如文档所示,它并不总是一个好主意。还有其他方法可以解决这个问题,包括renaming modules from particular packages using GHC flags。例如,您可以使用以下GHC选项将Data.Matrixmatrix更改为其他名称:

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

您可以选择最适合您的选项,具体取决于具体情况和您的需求。