Как сделать напишите стратегии массивов Haskell

Я хочу написать стратегию для параллельной оценки элементов в массиве. В старых стратегиях для этого использовался parArr ( см. Здесь ). Но этого нет в новом модуле Control.Parallel.Strategies.

Например. оценка параллельного списка: map f myList `using` parList rdeepseq

Я бы хотел иметь возможность делать что-то вроде: amap f myArr` using` parArr rdeepseq , где amap взят из Data.Array.Base и применяет функцию к каждому из элементов (последовательно).

Кажется, что следующее работает, но мне интересно, правильно ли он это делает, и хочу знать, как я могу определить свой собственный parArr .

Это работает: amap ((+1) `using` rpar) $ Array.array (0,4) [(0,10), (1,20), (2,30), (3,40), (4,50)]

5
задан user151019 14 May 2012 в 13:18
поделиться