[Haskell-cafe] Boxed Mutable Arrays

Brad Larsen brad.larsen at gmail.com
Mon Dec 14 16:25:10 EST 2009


Don,

On Mon, Dec 14, 2009 at 4:16 PM, Don Stewart <dons at galois.com> wrote:
> brad.larsen:
>> Is anyone working on fixing ticket #650
>> <http://hackage.haskell.org/trac/ghc/ticket/650>?  In short, STArray
>> and the garbage collector don't play well together, resulting in array
>> updates being non-constant time operations.  This bug makes it very
>> difficult/impossible to write efficient array algorithms that depend
>> upon mutation in Haskell.
>>
>> On another note, does this (or perhaps better phrased, will this) bug
>> also affect Data Parallel Haskell?
>
> What are you using boxed arrays for?

Two immediate examples come to mind:  a generic, heap-based priority
queue using an array, or a generic hash table that has acceptable
performance.

> (DPH, vector, uvector, are all for unboxed arrays, which are not
> affected, obviously).
>
> -- Don

The vector package on haskell has boxed arrays.  Is DPH *really* only
for primitive, unboxed types?  If so, that's unfortunate.

Sincerely,
Brad


More information about the Haskell-Cafe mailing list