我希望使用Data.Vector.Generic.Mutable.new創建一個可變的向量。我發現了通過融合純矢量來創建可變向量的例子,但這不是我想要做的。在Haskell中創建一個可變的Data.Vector
這裏有許多失敗的嘗試之一:
import Control.Monad.Primitive
import qualified Data.Vector.Generic.Mutable as GM
main = do
v <- (GM.new 10) :: (GM.MVector v a) => IO (v RealWorld a)
GM.write v 0 (3::Int)
x <- GM.read v 0
putStrLn $ show x
給我的錯誤
No instance for (GM.MVector v0 Int)
arising from an expression type signature
Possible fix: add an instance declaration for (GM.MVector v0 Int)
我試圖基於Haskell的矢量教程,沒有運氣的變化。
我也歡迎建議更清潔的方法來構建載體。 RealWorld的參考對我來說似乎很難看。
與我的代碼的密切通信幫助我提高了我的類型聲明技能。 – chris