尝试编译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,因为它是整个界面是不明确的。
答案 0 :(得分:5)
使用the PackageImports
language extension,您可以使用特定包来限定导入:
{-# LANGUAGE PackageImports #-}
import "matrix" Data.Matrix
但是,正如文档所示,它并不总是一个好主意。还有其他方法可以解决这个问题,包括renaming modules from particular packages using GHC flags。例如,您可以使用以下GHC选项将Data.Matrix
从matrix
更改为其他名称:
-package "matrix (Data.Matrix as Data.OtherMatrix)"
您可以选择最适合您的选项,具体取决于具体情况和您的需求。