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

Bra*_*sie 3 arrays haskell multidimensional-array

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

Don*_*art 5

我假设你的意思是从vector包中得到的东西,比如Data.Vector.Mutable

它提供了几种创建和填充可变数组的方法,例如replicate.但是,该vector包用于一维可生长矢量,而不是多维阵列.

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

repa特别是,它很有趣,因为它还提供了自动并行操作,您可以从矢量中填充一个.但是,repa数组是不可变的,并且依靠融合来获得漂亮的接口.

如果您需要可变多维数组,则可能需要使用旧学校array包,以及其中一种MArray类型.