0
我正在玩Repa,下面的代碼可以編譯和運行。如何解決運算符在類型聲明(Repa)中的使用?
import qualified Data.Array.Repa as R
--t:: R.Array R.U (R.Z R.:. Int) Float
--t = R.fromListUnboxed (R.Z R.:. (10::Int)) ([1.0..10]::[Float])
main = do
let x = R.fromListUnboxed (R.Z R.:. (10::Int)) ([1.0..10]::[Float])
print x
我相信(在ghci中檢查)x已經我已經宣佈噸至有類型簽名,但如果我取消與T有關的一切,我得到這個錯誤:
Illegal operator ‘R.:.’ in type ‘R.Z R.:. Int’
Use TypeOperators to allow operators in types
什麼是在類型聲明中解決使用類型運算符/構造函數的正確方法? (我將谷歌多一些,但想問反正太瞭解更多)
謝謝。我只是添加了語言雜注。瞭解一些關於文學的想法來理解爲什麼這是必要的補充? – stian
下面是一個很好的開始:[24天的GHC擴展 - 類型操作符](https://ocharles.org.uk/blog/posts/2014-12-08-type-operators.html) – ErikR
我想我有寫更多的說謝謝:) – stian