我注意到没有为可变载体定义生成函数。我想知道是否有另一种方法来定义haskell中的多维可变向量
答案 0 :(得分:5)
我认为您的意思是vector
包中的内容,例如Data.Vector.Mutable
?
它提供了几种创建和填充可变数组的方法,例如使用replicate
。但是,vector
包用于一维可增长的向量,而不是多维数组。
对于n> 1维度,您需要手动编码索引,或使用repa
或hmatrix
。
repa
很有意思,因为它还提供了自动并行操作,您可以fill one from a vector。但是,repa
数组是不可变的,并且依赖于fusion来获得一个漂亮的接口。
如果您需要可变和多维数组,则可能需要使用旧学校array
包,以及其中一个{{1>类型。