slist 0.2.1.0 → 0.3.0.0
raw patch · 4 files changed
+25/−13 lines, 4 filesdep ~basedep ~containersdep ~hedgehogPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, containers, hedgehog, hspec-hedgehog
API changes (from Hackage documentation)
- Slist.Size: instance GHC.Enum.Bounded Slist.Size.Size
- Slist.Size: instance GHC.Num.Num Slist.Size.Size
- Slist.Size: instance GHC.Read.Read Slist.Size.Size
- Slist.Size: instance GHC.Show.Show Slist.Size.Size
- Slist.Type: instance Data.Foldable.Foldable Slist.Type.Slist
- Slist.Type: instance Data.Traversable.Traversable Slist.Type.Slist
- Slist.Type: instance GHC.Base.Alternative Slist.Type.Slist
- Slist.Type: instance GHC.Base.Applicative Slist.Type.Slist
- Slist.Type: instance GHC.Base.Functor Slist.Type.Slist
- Slist.Type: instance GHC.Base.Monad Slist.Type.Slist
- Slist.Type: instance GHC.Base.Monoid (Slist.Type.Slist a)
- Slist.Type: instance GHC.Base.Semigroup (Slist.Type.Slist a)
- Slist.Type: instance GHC.IsList.IsList (Slist.Type.Slist a)
- Slist.Type: instance GHC.Read.Read a => GHC.Read.Read (Slist.Type.Slist a)
- Slist.Type: instance GHC.Show.Show a => GHC.Show.Show (Slist.Type.Slist a)
+ Slist.Size: instance GHC.Internal.Enum.Bounded Slist.Size.Size
+ Slist.Size: instance GHC.Internal.Num.Num Slist.Size.Size
+ Slist.Size: instance GHC.Internal.Read.Read Slist.Size.Size
+ Slist.Size: instance GHC.Internal.Show.Show Slist.Size.Size
+ Slist.Type: instance GHC.Internal.Base.Alternative Slist.Type.Slist
+ Slist.Type: instance GHC.Internal.Base.Applicative Slist.Type.Slist
+ Slist.Type: instance GHC.Internal.Base.Functor Slist.Type.Slist
+ Slist.Type: instance GHC.Internal.Base.Monad Slist.Type.Slist
+ Slist.Type: instance GHC.Internal.Base.Monoid (Slist.Type.Slist a)
+ Slist.Type: instance GHC.Internal.Base.Semigroup (Slist.Type.Slist a)
+ Slist.Type: instance GHC.Internal.Data.Foldable.Foldable Slist.Type.Slist
+ Slist.Type: instance GHC.Internal.Data.Traversable.Traversable Slist.Type.Slist
+ Slist.Type: instance GHC.Internal.IsList.IsList (Slist.Type.Slist a)
+ Slist.Type: instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Slist.Type.Slist a)
+ Slist.Type: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Slist.Type.Slist a)
- Slist: deleteBy :: forall a. (a -> a -> Bool) -> a -> Slist a -> Slist a
+ Slist: deleteBy :: (a -> a -> Bool) -> a -> Slist a -> Slist a
- Slist: dropWhile :: forall a. (a -> Bool) -> Slist a -> Slist a
+ Slist: dropWhile :: (a -> Bool) -> Slist a -> Slist a
- Slist: filter :: forall a. (a -> Bool) -> Slist a -> Slist a
+ Slist: filter :: (a -> Bool) -> Slist a -> Slist a
- Slist: findIndices :: forall a. (a -> Bool) -> Slist a -> Slist Int
+ Slist: findIndices :: (a -> Bool) -> Slist a -> Slist Int
- Slist: intersectBy :: forall a. (a -> a -> Bool) -> Slist a -> Slist a -> Slist a
+ Slist: intersectBy :: (a -> a -> Bool) -> Slist a -> Slist a -> Slist a
- Slist: listPartitionWith :: forall a b c. (a -> Either b c) -> [a] -> ([b], [c])
+ Slist: listPartitionWith :: (a -> Either b c) -> [a] -> ([b], [c])
- Slist: nubBy :: forall a. (a -> a -> Bool) -> Slist a -> Slist a
+ Slist: nubBy :: (a -> a -> Bool) -> Slist a -> Slist a
- Slist: ordNub :: forall a. Ord a => Slist a -> Slist a
+ Slist: ordNub :: Ord a => Slist a -> Slist a
- Slist: partition :: forall a. (a -> Bool) -> Slist a -> (Slist a, Slist a)
+ Slist: partition :: (a -> Bool) -> Slist a -> (Slist a, Slist a)
- Slist: partitionWith :: forall a b c. (a -> Either b c) -> Slist a -> (Slist b, Slist c)
+ Slist: partitionWith :: (a -> Either b c) -> Slist a -> (Slist b, Slist c)
- Slist: span :: forall a. (a -> Bool) -> Slist a -> (Slist a, Slist a)
+ Slist: span :: (a -> Bool) -> Slist a -> (Slist a, Slist a)
- Slist: takeWhile :: forall a. (a -> Bool) -> Slist a -> Slist a
+ Slist: takeWhile :: (a -> Bool) -> Slist a -> Slist a
Files
- CHANGELOG.md +5/−0
- slist.cabal +12/−12
- src/Slist.hs +2/−0
- src/Slist/Type.hs +6/−1
CHANGELOG.md view
@@ -3,6 +3,11 @@ `slist` uses [PVP Versioning][1]. The changelog is available [on GitHub][2]. +## 0.3.0.0 – Jan 15, 2026++* Support newer GHCs up to 9.12.+* Drop support of GHC 8.2, GHC 8.4 and GHC 8.6+ ## 0.2.1.0 – Nov 3, 2022 * [#56](https://github.com/kowainik/slist/issues/56):
slist.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: slist-version: 0.2.1.0+version: 0.3.0.0 synopsis: Sized list description: This package implements @Slist@ data structure that stores the size of the list along with the list itself.@@ -16,21 +16,22 @@ build-type: Simple extra-doc-files: README.md , CHANGELOG.md-tested-with: GHC == 8.2.2- , GHC == 8.4.4- , GHC == 8.6.5- , GHC == 8.8.4+tested-with: GHC == 8.8.4 , GHC == 8.10.7 , GHC == 9.0.2 , GHC == 9.2.4- , GHC == 9.4.2+ , GHC == 9.4.8+ , GHC == 9.6.7+ , GHC == 9.8.4+ , GHC == 9.10.3+ , GHC == 9.12.3 source-repository head type: git location: https://github.com/kowainik/slist.git common common-options- build-depends: base >= 4.10.1.0 && < 4.18+ build-depends: base >= 4.13 && < 4.23 ghc-options: -Wall -Wincomplete-uni-patterns@@ -39,8 +40,7 @@ -Widentities -Wredundant-constraints -fhide-source-paths- if impl(ghc >= 8.8.1)- ghc-options: -Wmissing-deriving-strategies+ -Wmissing-deriving-strategies -Werror=missing-deriving-strategies if impl(ghc >= 8.10.1) ghc-options: -Wunused-packages@@ -69,7 +69,7 @@ library import: common-options- build-depends: containers >= 0.5 && <= 0.7+ build-depends: containers >= 0.5 && <= 0.9 hs-source-dirs: src exposed-modules: Slist Slist.Containers@@ -93,9 +93,9 @@ main-is: Spec.hs other-modules: Test.Slist.Size build-depends: slist- , hedgehog >= 1.0 && < 1.3+ , hedgehog >= 1.0 && < 1.8 , hspec- , hspec-hedgehog ^>= 0.0.1+ , hspec-hedgehog >= 0.0.1 && < 0.4 ghc-options: -threaded -rtsopts -with-rtsopts=-N
src/Slist.hs view
@@ -238,7 +238,9 @@ import Data.Bifunctor (bimap, first, second) import Data.Either (partitionEithers)+#if ( __GLASGOW_HASKELL__ < 910 ) import Data.Foldable (foldl')+#endif #if ( __GLASGOW_HASKELL__ == 802 ) import Data.Semigroup (Semigroup (..)) #endif
src/Slist/Type.hs view
@@ -26,7 +26,12 @@ , map ) where +#if ( __GLASGOW_HASKELL__ >= 906 )+import Control.Applicative (Alternative (empty, (<|>)))+#else import Control.Applicative (Alternative (empty, (<|>)), liftA2)+#endif+ #if ( __GLASGOW_HASKELL__ == 802 ) import Data.Semigroup (Semigroup (..)) #endif@@ -140,7 +145,7 @@ foldr f b = foldr f b . sList {-# INLINE foldr #-} - -- | Is the element in the structure?+ -- Is the element in the structure? elem :: (Eq a) => a -> Slist a -> Bool elem a = elem a . sList {-# INLINE elem #-}