subcategories 0.2.0.0 → 0.2.0.1
raw patch · 7 files changed
+41/−14 lines, 7 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Control.Subcategory.Alternative: instance Control.Subcategory.Alternative.Class.CAlternative Data.Semigroup.Option
- Control.Subcategory.Alternative: instance Control.Subcategory.Alternative.Class.CChoice Data.Semigroup.Option
- Control.Subcategory.Applicative: instance Control.Subcategory.Applicative.Class.CApplicative Data.Semigroup.Option
- Control.Subcategory.Bind: instance Control.Subcategory.Bind.CBind Data.Semigroup.Option
- Control.Subcategory.Foldable: instance Control.Subcategory.Foldable.CFoldable Data.Semigroup.Option
- Control.Subcategory.Foldable: instance Control.Subcategory.Foldable.CTraversable Data.Semigroup.Option
- Control.Subcategory.Functor: instance Control.Subcategory.Functor.CFunctor Data.Semigroup.Option
- Control.Subcategory.Functor: instance Control.Subcategory.Functor.Constrained Data.Semigroup.Option
- Control.Subcategory.Functor: type family Dom f (a :: Type) :: Constraint;
- Control.Subcategory.Pointed: instance Control.Subcategory.Pointed.CPointed Data.Semigroup.Option
- Control.Subcategory.Semialign: instance Control.Subcategory.Semialign.CAlign Data.Semigroup.Option
- Control.Subcategory.Semialign: instance Control.Subcategory.Semialign.CSemialign Data.Semigroup.Option
- Control.Subcategory.Zip: instance Control.Subcategory.Zip.CRepeat Data.Semigroup.Option
- Control.Subcategory.Zip: instance Control.Subcategory.Zip.CUnzip Data.Semigroup.Option
- Control.Subcategory.Zip: instance Control.Subcategory.Zip.CZip Data.Semigroup.Option
- Control.Subcategory.RebindableSyntax: infixl 6 -
+ Control.Subcategory.RebindableSyntax: infixl 6 +
Files
- ChangeLog.md +10/−3
- src/Control/Subcategory/Foldable.hs +1/−1
- src/Control/Subcategory/Wrapper/Internal.hs +5/−0
- subcategories.cabal +13/−6
- test/Control/Subcategory/FoldableSpec.hs +2/−1
- test/Control/Subcategory/FunctorSpec.hs +4/−1
- test/Shared.hs +6/−2
ChangeLog.md view
@@ -1,13 +1,20 @@ # Changelog for subcategories -# 0.2.0.0+## 0.2.0.1++* Supports GHC 9.6++## 0.2.0.0+ * Supports GHC >= 9.2. * As base >= 4.16 removes Data.Semigroup.Option, this package drops instance for Option accordingly for GHC >= 9.2. It seems that PVP demands us to bump the major version. ## 0.1.1.0-Support GHC >= 9.0 +* Support GHC >= 9.0+ ## 0.1.0.0-Initial Release++* Initial Release
src/Control/Subcategory/Foldable.hs view
@@ -279,7 +279,7 @@ cfindIndex :: Dom f a => (a -> Bool) -> f a -> Maybe Int {-# INLINE [1] cfindIndex #-}- cfindIndex = \p -> L.foldOver cfolded (L.findIndex p)+ cfindIndex = L.foldOver cfolded . L.findIndex cfindIndices :: Dom f a => (a -> Bool) -> f a -> [Int] {-# INLINE [1] cfindIndices #-}
src/Control/Subcategory/Wrapper/Internal.hs view
@@ -52,4 +52,9 @@ :: (Coercible (WrapMono mono (Element mono)) mono => r) -> r {-# INLINE withMonoCoercible #-}+#if defined(DEEP_SUBSUMPTION)+withMonoCoercible = id+#else withMonoCoercible = \x -> x+#endif+
subcategories.cabal view
@@ -1,13 +1,13 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.34.4.+-- This file has been generated from package.yaml by hpack version 0.35.0. -- -- see: https://github.com/sol/hpack ----- hash: a052deb998ce38ed1f948faaab71f0264136b956dcf9e11bd1387cfde0c399d4+-- hash: e585a5f5de9db8947e81c57031daf4960c73b93f60a109424d6f33feb871c48c name: subcategories-version: 0.2.0.0+version: 0.2.0.1 synopsis: Subcategories induced by class constraints description: Please see the README on GitHub at <https://github.com/konn/subcategories#readme> category: Data@@ -19,7 +19,8 @@ license: BSD3 license-file: LICENSE tested-with:- GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.1+ GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.7 || ==9.4.4 || ==9.6.1+ build-type: Simple extra-source-files: README.md@@ -63,7 +64,6 @@ ScopedTypeVariables TypeApplications TypeFamilies- TypeInType UndecidableInstances ghc-options: -Wall build-depends:@@ -85,6 +85,10 @@ , vector-algorithms , vector-builder default-language: Haskell2010+ if impl(ghc >= 9.2.4)+ cpp-options: -DDEEP_SUBSUMPTION+ if impl(ghc < 9.0)+ cpp-options: -DDEEP_SUBSUMPTION test-suite subcategories-test type: exitcode-stdio-1.0@@ -113,7 +117,6 @@ ScopedTypeVariables TypeApplications TypeFamilies- TypeInType UndecidableInstances ghc-options: -Wall -fno-hpc build-tool-depends:@@ -145,3 +148,7 @@ , vector-algorithms , vector-builder default-language: Haskell2010+ if impl(ghc >= 9.2.4)+ cpp-options: -DDEEP_SUBSUMPTION+ if impl(ghc < 9.0)+ cpp-options: -DDEEP_SUBSUMPTION
test/Control/Subcategory/FoldableSpec.hs view
@@ -133,7 +133,8 @@ test_cinit :: TestTree test_cinit = testGroup "cinit" [ testGroup "List"- [ $(inspecting "has the same represeitation as Prelude.init"+ [ (if ghcVer >= GHC9_4 then expectFailBecause "GHC >= 9.4 does different thing on CallStack" else id)+ $(inspecting "has the same represeitation as Prelude.init" $ 'cinit_list ==- 'init_list ) ]
test/Control/Subcategory/FunctorSpec.hs view
@@ -27,6 +27,7 @@ import Shared import Test.Inspection import Test.Tasty+import Test.Tasty.ExpectedFailure (expectFailBecause) cmap_list :: (a -> b) -> [a] -> [b] cmap_list = cmap@@ -121,6 +122,7 @@ map_BS = BS.map cmap_MonoText :: (Char -> Char) -> WrapMono T.Text Char -> WrapMono T.Text Char+{-# INLINE cmap_MonoText #-} cmap_MonoText = cmap map_Text :: (Char -> Char) -> T.Text -> T.Text@@ -224,7 +226,8 @@ ) ] , testGroup "WrapMono Text"- [ $(inspecting "has the same representation as Data.Text.map"+ [ (if ghcVer >= GHC9_6 then expectFailBecause "GHC >= 9.6 does aggeressive inlining somehow" else id)+ $(inspecting "has the same representation as Data.Text.map" $ 'cmap_MonoText ==- 'map_Text ) , $(inspecting "has no instance dictionary"
@@ -19,11 +19,15 @@ inspecting desc reg = [|testCase desc $ checkInspection $(inspectTest reg)|] -data GHCVer = GHC8_8 | GHC8_10 | GHC9_0 | GHC9_2+data GHCVer = GHC8_8 | GHC8_10 | GHC9_0 | GHC9_2 | GHC9_4 | GHC9_6 deriving (Show, Eq, Ord) ghcVer :: GHCVer-#if __GLASGOW_HASKELL__ == 902+#if __GLASGOW_HASKELL__ == 906+ghcVer = GHC9_6+#elif __GLASGOW_HASKELL__ == 904+ghcVer = GHC9_4+#elif __GLASGOW_HASKELL__ == 902 ghcVer = GHC9_2 #elif __GLASGOW_HASKELL__ == 900 ghcVer = GHC9_0