2016-09-15 4 views
0

私は比較的新しいHaskellです。プロジェクトにRepaパッケージを使用しようとしています。私はimport qualified Data.Array.Repa as Rを使用して、私のソースコードでパッケージをインポートしているが、GHCiの中のHaskellファイルをロードするときに、私は次のエラーを取得する:Repaパッケージを使用しようとしたときにスコープにエラーがありません

type CoordList = Array D (Z:. (Dimension::Int)) Integer 

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を使用して、ソースコードの一部です

パッケージが読み込まれていない(読み込まれている)ようです。私は何をすべき

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 

:以下でghc-pkg list repaの結果を使用していますか?

答えて

3

2つの問題があるようです。まず、認定モジュールをインポートしていますが、認定されていないモジュールを使用しています。あなたは資格を持ってしたくないの定義のための追加輸入を追加することができます。

import Data.Array.Repa (D,Z,(:.)) 

第二の問題は、第三のエラーメッセージがあなたを語っているものです。拡張子をTypeOperatorsにする必要があります。これをファイルの先頭に貼り付けます。

{-# LANGUAGE TypeOperators #-} 
関連する問題