- 
Introduce Data.Primitive.PrimArray, which offers types and function
for dealing with aByteArraytagged with a phantom type variable for
tracking the element type.
 
- 
Implement isByteArrayPinnedandisMutableByteArrayPinned.
 
- 
Add Eq1,Ord1,Show1, andRead1instances forArrayandSmallArray.
 
- 
Improve the test suite. This includes having property tests for
typeclasses from basesuch asEq,Ord,Functor,Applicative,Monad,IsList,Monoid,Foldable, andTraversable.
 
- 
Fix the broken IsListinstance forByteArray. The old definition
would allocate a byte array of the correct size and then leave the
memory unitialized instead of writing the list elements to it.
 
- 
Fix the broken Functorinstance forArray. The old definition
would allocate an array of the correct size with thunks for erroring
installed at every index. It failed to replace these thunks with
the result of the function applied to the elements of the argument array.
 
- 
Fix the broken Applicativeinstances ofArrayandSmallArray.
The old implementation of<*>forArrayfailed to initialize
some elements but correctly initialized others in the resultingArray. It is unclear what the old behavior of<*>was forSmallArray, but it was incorrect.
 
- 
Fix the broken Monadinstances forArrayandSmallArray.
 
- 
Fix the implementation of foldl1in theFoldableinstances forArrayandSmallArray. In both cases, the old implementation
simply returned the first element of the array and made no use of
the other elements in the array.
 
- 
Fix the implementation of mconcatin theMonoidinstance forSmallArray.
 
- 
Implement Data.Primitive.Ptr, implementations ofPtrfunctions
that require aPrimconstraint instead of aStorableconstraint.
 
- 
Add PrimUnliftedinstances forTVarandMVar.
 
- 
Use compareByteArrays#for theEqandOrdinstances ofByteArraywhen building with GHC 8.4 and newer.
 
- 
Add Priminstances for lots of types inForeign.C.TypesandSystem.Posix.Types.
 
- 
Reexport Data.Primitive.SmallArrayandData.Primitive.UnliftedArrayfromData.Primitive.
 
- 
Add fold functions and map function to Data.Primitive.UnliftedArray.
Add typeclass instances forIsList,Ord, andShow.
 
- 
Add defaultSetByteArray#anddefaultSetOffAddr#toData.Primitive.Types.
 
- 
Add Data.Primitive.MVar, a replacement forControl.Concurrent.MVarthat can run in anyPrimMonadinstead of justIO. It is not a full
replacement. Notably, it’s missing masking functions and support for
adding finalizers.