The contiguous typeclass parameterises over a contiguous array type.
This allows us to have a common API to a number of contiguous
array types and their mutable counterparts, namely those in primitive,
making the experience of working with the primitive datatypes much cleaner
and uniform.
Changes
Revision history for contiguous
0.6.4.2 – 2024-02-06
Restore support for versions of base that do not export liftA2
from the prelude.
0.6.4.1 – 2024-02-05
Update package metadata.
0.6.4.0 – 2023-06-28
Make it work with primitive-unlifted-2.1, which drops
support for older primitive-unlifted.
Add quintupleton and sextupleton.
Add construct(1|2|3|4|5|6) aliases for constructing arrays with
a small known number of elements.
0.6.3.0 – 2022-12-07
Add strict foldrM
0.6.2.0 – 2022-04-13
Make benchmarks build
Add strict ifoldlZipWith and foldlZipWith
0.6.1.1 – 2022-02-16
Allow building with GHC 9.2.1.
Drop support for GHC 8.8 and earlier.
0.6.1.0 – 2021-09-01
Add itraverseP
Add deleteAt and ifoldr
0.6.0 – 2021-08-28
Add Slice, MutableSlice.
Split Contiguous into ContiguousSlice and Contiguous.
Add shrink and unsafeShrinkAndFreeze
0.5.2 – 2021-08-11
Add ifoldlM'.
Add foldrZipWith and ifoldrZipWith.
Add foldlZipWithM' and ifoldlZipWithM'.
Add all and any.
Add run. Use it internally to accerelate prevent GHC from
boxing results in runST.
Expand unit test suite to include all added functions
Expand laws test suite to test Foldable/IsList/Traversable laws
in addition to Functor/Applicative
Add benchmark suite that measures allocations
Fix performance issue with fold functions that caused huge increase
in allocations when partially-applied. Partially-applied folds now
perform as well as fully-applied.
Make sure all functions are marked INLINE. Last function not marked
as inline was imap'.
0.4.0.1 – 2019-05-17
Allow building with primitive-0.7. This required depending on the
primitive-unlifted package to provide the removed UnliftedArray
api.