多维可变载体:可能吗?如果是这样,怎么样?

时间:2011-04-27 23:17:13

标签: arrays haskell multidimensional-array

我注意到没有为可变载体定义生成函数。我想知道是否有另一种方法来定义haskell中的多维可变向量

1 个答案:

答案 0 :(得分:5)

我认为您的意思是vector包中的内容,例如Data.Vector.Mutable

它提供了几种创建和填充可变数组的方法,例如使用replicate。但是,vector包用于一维可增长的向量,而不是多维数组。

对于n> 1维度,您需要手动编码索引,或使用repahmatrix

特别是

repa很有意思,因为它还提供了自动并行操作,您可以fill one from a vector。但是,repa数组是不可变的,并且依赖于fusion来获得一个漂亮的接口。

如果您需要可变多维数组,则可能需要使用旧学校array包,以及其中一个{{1>类型。