Revision history for contiguous
0.6.5.0 -- 2025-04-07
- Implement Contiguous and ContiguousU for SmallUnliftedArray
- Re-export Small(Mutable)UnliftedArray from Data.Primitive.Contiguous
- Use functions from newer primitive and primitive-unlifted. The implementation
of UnliftedArray in primitive-unlifted-2.1 penalizes the creation of an
uninitialized unlifted array. When shrinking and resizing unlifted arrays,
there are primitives that we can use to avoid this.
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
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
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.
- Add
quadrupleton.
0.5.1 -- 2020-06-30
- Add
izipWith.
- Compatibility with
primitive-0.7.1.0.
0.5 -- 2019-07-23
- Add
generateM, reverseSlice, swap, catMaybes,
zipWith, zip, lefts, rights, partitionEithers, elem,
find, maximum/minimum, maximumBy/minimumBy, asum,
mapM(_), forM(_), for(_), sequence(_), (<$), ap, scanl,
scanl', iscanl, iscanl', prescanl, prescanl', iprescanl,
iprescanl'
- Re-export Array types from the
primitive package
- 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.
0.4 -- 2019-05-16
- Add
convert, filter, ifilter, itraverse(_) (#6), imap',
unsafeFromListN, unsafeFromListReverseMutableN, ifoldr',
foldl, mapMutable, imapMutable, reverse, reverseMutable,
replicateMutableM, create, createT, unsafeFromListReverseN,
generate, generateMutable, iterate, iterateMutableN,
iterateMutableNM, unfoldr, unfoldrMutable, toList,
toListMutable, fromListMutableN, fromListMutable, fromListN,
fromList, modify, modify', enumFromN, enumFromMutableN
- Refactor
replicate functions to make more sense (#19)
- Add
Contiguous instance for SmallArray
- Attempt to mark everything as inline (#18)
- Achieve 100% doc coverage, organise exports a lot more
(mimicking vector). Various haddock fixes
- Make
toListMutable strict in the accumulator
- Change all instances of
return to pure
- Add initial test suite (some unit tests that check implementations
against base/vector versions of the same functions)
- Export
unsafeFreeze, copy, write,
- Rename
sameMutable to equalsMutable
0.3.3.0 -- 2019-03-24
- Add
freeze as a method to Contiguous
- Add more folds
- Mark more functions as INLINEABLE
0.3.2.0 -- 2019-01-02
- Add
thaw as a method to Contiguous
0.3.1.0 -- 2018-10-19
- Add
singleton,doubleton,tripleton as methods to Contiguous
- Add
map', imap, mapMutable', imapMutable'
0.3.0.0 -- 2018-09-06
- Document the need for
Always
- Generalise API: from
ST s to PrimMonad m
- Add NFData
rnf function for deeply evaluating
Contiguous arrays.
- Add function
equals, for detecting if two arrays in memory
are the same.
- Add hashing function.
- Make
map able to produce a new array type.
- Add
replicate, null as methods to Contiguous.
- Add
traverse, itraverse, traverseP, foldMap
0.2.0.0 -- 2018-06-07
- Add cabal metadata: category, proper synopsis/description
- Use primitive-0.6.4.0
0.1.0.0 -- 2018-05-31