David Feuer
2018-03-13 02:30:46 UTC
The array package offers several ".Unsafe" modules exporting unsafe
operations. Unfortunately, there are some operations that are very
important for high-performance code that are only exported from the
Haddock-hidden and officially unsupported (but practically fairly
stable) Data.Array.Base. Among them are:
IArray methods:
unsafeArray
unsafeAt
unsafeReplace
unsafeAccum
unsafeAccumArray
MArray methods:
unsafeRead
unsafeWrite
unsafeNewArray
I propose that we export IArray (..) and MArray (..) from new modules
Data.Array.IArray.Unsafe and Data.Array.MArray.Unsafe, respectively.
David
operations. Unfortunately, there are some operations that are very
important for high-performance code that are only exported from the
Haddock-hidden and officially unsupported (but practically fairly
stable) Data.Array.Base. Among them are:
IArray methods:
unsafeArray
unsafeAt
unsafeReplace
unsafeAccum
unsafeAccumArray
MArray methods:
unsafeRead
unsafeWrite
unsafeNewArray
I propose that we export IArray (..) and MArray (..) from new modules
Data.Array.IArray.Unsafe and Data.Array.MArray.Unsafe, respectively.
David