首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在尝试使用Repa包时没有出现范围错误

在尝试使用Repa包时没有出现范围错误
EN

Stack Overflow用户
提问于 2016-09-15 18:45:31
回答 1查看 116关注 0票数 0

我对Haskell比较陌生,我正尝试在一个项目中使用Repa包。我已经使用import qualified Data.Array.Repa as R导入了源代码中的包,但是当在ghci中加载Haskell文件时,我得到了以下错误:

代码语言:javascript
复制
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的部分

代码语言:javascript
复制
type CoordList = Array D (Z:. (Dimension::Int)) Integer

似乎没有导入(加载)包。使用ghc-pkg list repa的结果如下:

代码语言:javascript
复制
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

我该怎么办?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-15 19:36:08

看来你有两个问题。首先,您正在导入限定模块,但使用它时不符合条件。您可以为不需要限定的定义添加一个额外的导入:

代码语言:javascript
复制
import Data.Array.Repa (D,Z,(:.))

第二个问题是第三个错误信息是如何告诉您的。您需要打开TypeOperators扩展。把这个放在你的文件的顶部:

代码语言:javascript
复制
{-# LANGUAGE TypeOperators #-}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39518281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档