我对Haskell比较陌生,我正尝试在一个项目中使用Repa包。我已经使用import qualified Data.Array.Repa as R导入了源代码中的包,但是当在ghci中加载Haskell文件时,我得到了以下错误:
Location_repa.hs:46:26:
Not in scope: type constructor or class `D'
Perhaps you meant `R.D' (imported from Data.Array.Repa)
Location_repa.hs:46:29:
Not in scope: type constructor or class `Z'
Perhaps you meant `R.Z' (imported from Data.Array.Repa)
Location_repa.hs:46:30:
Illegal operator `:.' in type `Z :. (Dimension :: Int)'
Use TypeOperators to allow operators in types
.....下面是源代码中使用Repa的部分
type CoordList = Array D (Z:. (Dimension::Int)) Integer似乎没有导入(加载)包。使用ghc-pkg list repa的结果如下:
C:/Program Files/Haskell Platform/7.10.2-a\lib\package.conf.d:
(no packages)
C:\Users\...\AppData\Roaming\ghc\x86_64-mingw32-7.10.2\package.conf.d:
repa-3.4.1.1我该怎么办?
发布于 2016-09-15 19:36:08
看来你有两个问题。首先,您正在导入限定模块,但使用它时不符合条件。您可以为不需要限定的定义添加一个额外的导入:
import Data.Array.Repa (D,Z,(:.))第二个问题是第三个错误信息是如何告诉您的。您需要打开TypeOperators扩展。把这个放在你的文件的顶部:
{-# LANGUAGE TypeOperators #-}https://stackoverflow.com/questions/39518281
复制相似问题