primitive-sort 0.1.2.2 → 0.1.2.3
raw patch · 3 files changed
+13/−6 lines, 3 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−0
- primitive-sort.cabal +4/−4
- src/Data/Primitive/Sort.hs +4/−2
CHANGELOG.md view
@@ -1,5 +1,10 @@ # Revision history for primitive-sort +## 0.1.2.3 -- 2024-02-06++* Restore support for GHC 9.2 and GHC 9.4, which had been broken by+ a assuming that `liftA2` was available from the prelude.+ ## 0.1.2.2 -- 2024-02-02 * Replace imports of `GHC.Prim` with `GHC.Exts` so that the dependency
primitive-sort.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: primitive-sort-version: 0.1.2.2+version: 0.1.2.3 synopsis: Sort primitive arrays description: This library provides a stable sorting algorithm for primitive arrays.@@ -30,9 +30,9 @@ hs-source-dirs: src exposed-modules: Data.Primitive.Sort build-depends:- , base >=0.4.9 && <5- , contiguous >=0.6 && <0.7- , primitive >=0.6.4 && <0.10+ , base >=0.4.16 && <5+ , contiguous >=0.6 && <0.7+ , primitive >=0.6.4 && <0.10 test-suite test import: build-settings
src/Data/Primitive/Sort.hs view
@@ -25,10 +25,12 @@ import Data.Int import Data.Primitive (MutablePrimArray, Prim, PrimArray) import Data.Primitive.Contiguous (Contiguous, ContiguousU, Element, Mutable)-import qualified Data.Primitive.Contiguous as C import Data.Word import GHC.Exts +import qualified Control.Applicative as A+import qualified Data.Primitive.Contiguous as C+ -- | Sort an immutable array. Duplicate elements are preserved. sort :: (Prim a, Ord a) =>@@ -343,7 +345,7 @@ else return dstIx !a <- C.read marr dupIx !reducedLen <- deduplicate a (dupIx + 1) dupIx- liftA2 (,) (C.resize marr reducedLen) (C.resize marrTags reducedLen)+ A.liftA2 (,) (C.resize marr reducedLen) (C.resize marrTags reducedLen) else return (marr, marrTags) splitMerge ::