Proposal: Add more exports to public array modules

David Feuer david.feuer at gmail.com
Tue Mar 13 02:30:46 UTC 2018


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


More information about the Libraries mailing list