typerep-map 0.6.0.0 → 0.7.0.0
raw patch · 8 files changed
+47/−49 lines, 8 filesdep ~basedep ~containersdep ~deepseq
Dependency ranges changed: base, containers, deepseq, ghc-prim, ghc-typelits-knownnat, hedgehog, hspec, hspec-hedgehog, primitive
Files
- CHANGELOG.md +5/−0
- benchmark/Main.hs +0/−4
- src/Data/TMap.hs +1/−1
- src/Data/TypeRepMap.hs +1/−1
- src/Data/TypeRepMap/Internal.hs +4/−7
- test/Test/TypeRep/TypeRepMapProperty.hs +0/−15
- typerep-extra-impls/Data/TypeRep/Vector.hs +2/−2
- typerep-map.cabal +34/−19
CHANGELOG.md view
@@ -3,6 +3,11 @@ `typerep-map` uses [PVP Versioning][1]. The changelog is available [on GitHub][2]. +## 0.7.0.0 - Jan 14, 2026++* Support newer GHC versions, update dependencies.+* Remove suppor of GHC-8.2, GHC-8,4, GHC-8.6.+ ## 0.6.0.0 — Nov 2, 2022 * [#125](https://github.com/kowainik/typerep-map/issues/125):
benchmark/Main.hs view
@@ -10,9 +10,7 @@ import qualified CacheMap import qualified CMap-#if ( __GLASGOW_HASKELL__ >= 802 ) import qualified DMap-#endif import qualified OptimalVector as OptVec @@ -20,9 +18,7 @@ main = do let specs = [("CMap", CMap.spec) ,("CacheMap", CacheMap.spec)-#if ( __GLASGOW_HASKELL__ >= 802 ) , ("DMap", DMap.spec)-#endif , ("OptVec", OptVec.spec) ] {- This code creates a benchmark group. Given a getter
src/Data/TMap.hs view
@@ -3,7 +3,7 @@ {- | Module : Data.TMap-Copyright : (c) 2017-2022 Kowainik+Copyright : (c) 2017-2026 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik <xrom.xkov@gmail.com> Stability : Stable
src/Data/TypeRepMap.hs view
@@ -2,7 +2,7 @@ {- | Module : Data.TypeRepMap-Copyright : (c) 2017-2022 Kowainik+Copyright : (c) 2017-2026 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik <xrom.xkov@gmail.com> Stability : Stable
src/Data/TypeRepMap/Internal.hs view
@@ -11,18 +11,17 @@ {-# LANGUAGE Rank2Types #-} {-# LANGUAGE RoleAnnotations #-} {-# LANGUAGE TypeFamilies #-}+#if __GLASGOW_HASKELL__ <= 906 {-# LANGUAGE TypeInType #-}+#endif {-# LANGUAGE ViewPatterns #-}--#if __GLASGOW_HASKELL__ >= 806 {-# LANGUAGE QuantifiedConstraints #-}-#endif -- {-# OPTIONS_GHC -ddump-simpl -dsuppress-idinfo -dsuppress-coercions -dsuppress-type-applications -dsuppress-uniques -dsuppress-module-prefixes #-} {- | Module : Data.TypeRepMap.Internal-Copyright : (c) 2017-2022 Kowainik+Copyright : (c) 2017-2026 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik <xrom.xkov@gmail.com> Stability : Stable@@ -53,7 +52,7 @@ import Data.Primitive.PrimArray (MutablePrimArray, PrimArray, indexPrimArray, newPrimArray, primArrayFromListN, primArrayToList, sizeofPrimArray, unsafeFreezePrimArray, writePrimArray)-import Data.Semigroup (All (..), Semigroup (..))+import Data.Semigroup (All (..)) import Data.Type.Equality (TestEquality (..), (:~:) (..)) import GHC.Base (Any, Int (..), Int#, (*#), (+#), (<#)) #if MIN_VERSION_base(4,17,0)@@ -128,7 +127,6 @@ {-# INLINE mempty #-} {-# INLINE mappend #-} -#if __GLASGOW_HASKELL__ >= 806 instance (forall a. Typeable a => Eq (f a)) => Eq (TypeRepMap f) where tm1 == tm2 = size tm1 == size tm2 && go 0 where@@ -151,7 +149,6 @@ repEq :: TypeRep x -> f x -> f x -> Bool repEq tr = withTypeable tr (==)-#endif -- | Returns the list of 'Fingerprint's from 'TypeRepMap'. toFingerprints :: TypeRepMap f -> [Fingerprint]
test/Test/TypeRep/TypeRepMapProperty.hs view
@@ -12,7 +12,6 @@ import Prelude hiding (lookup) import Data.Proxy (Proxy (..))-import Data.Semigroup (Semigroup (..)) import GHC.Exts (fromList) import GHC.TypeLits (Nat, SomeNat (..), someNatVal) import Hedgehog (MonadGen, assert, forAll, (===))@@ -168,17 +167,3 @@ case someNatVal randNat of Just (SomeNat proxyNat) -> pure $ WrapTypeable $ IntProxy proxyNat randInt Nothing -> error "Invalid test generator"--------------------------------------------------------------------------------- Helpers------------------------------------------------------------------------------#if __GLASGOW_HASKELL__ < 806-{- | We add an orphan Eq instance for old GHC versions just to make testing easier.-It's not a good idea to write such 'Eq' instance for 'TypeRepMap' itself because-it doesn't compare values so it's not true equality. But this should be enough-for tests.--}-instance Eq (TypeRepMap f) where- TypeRepMap as1 bs1 _ _ == TypeRepMap as2 bs2 _ _ =- as1 == as2 && bs1 == bs2-#endif
typerep-extra-impls/Data/TypeRep/Vector.hs view
@@ -128,8 +128,8 @@ G.basicUnsafeCopy bs1 bs2 {-# INLINE elemseq #-} elemseq _ (Fingerprint a b)- = G.elemseq (undefined :: Unboxed.Vector a) a- . G.elemseq (undefined :: Unboxed.Vector b) b+ = G.elemseq (undefined :: Unboxed.Vector a') a+ . G.elemseq (undefined :: Unboxed.Vector b') b data TypeRepVector f = TypeRepVect { fingerprints :: Unboxed.Vector Fingerprint
typerep-map.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: typerep-map-version: 0.6.0.0+version: 0.7.0.0 synopsis: Efficient implementation of a dependent map with types as keys description: A dependent map from type representations to values of these types.@@ -23,26 +23,27 @@ license-file: LICENSE author: Veronika Romashkina, Vladislav Zavialov, Dmitrii Kovanikov maintainer: Kowainik <xrom.xkov@gmail.com>-copyright: 2017-2022 Kowainik+copyright: 2017-2026 Kowainik category: Data, Data Structures, Types 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.1+ , GHC == 9.12.2 source-repository head type: git location: https://github.com/kowainik/typerep-map.git common common-options- build-depends: base >= 4.10 && < 4.18+ build-depends: base >= 4.13 && < 4.22 default-language: Haskell2010 default-extensions: BangPatterns@@ -71,6 +72,20 @@ if impl(ghc >= 9.2) ghc-options: -Wredundant-bang-patterns -Woperator-whitespace+ if impl(ghc >= 9.4 && < 9.10)+ ghc-options: -Wforall-identifier+ if impl(ghc >= 9.4)+ ghc-options: -Wredundant-strictness-flags+ if impl(ghc >= 9.8)+ ghc-options: -Wterm-variable-capture+ -Winconsistent-flags+ if impl(ghc >= 9.10)+ ghc-options: -Wincomplete-record-selectors+ -Wdeprecated-type-abstractions+ -Wdata-kinds-tc+ -Wdefaulted-exception-context+ if impl(ghc >= 9.12)+ ghc-options: -Wview-pattern-signatures library import: common-options@@ -79,9 +94,9 @@ Data.TypeRepMap Data.TypeRepMap.Internal - build-depends: ghc-prim >= 0.5.1.1 && < 0.10- , primitive ^>= 0.7.0- , deepseq ^>= 1.4+ build-depends: ghc-prim >= 0.5 && < 0.14+ , primitive >= 0.7.0 && < 0.10+ , deepseq >= 1.4 && < 1.7 library typerep-extra-impls import: common-options@@ -90,9 +105,9 @@ Data.TypeRep.OptimalVector Data.TypeRep.Vector - build-depends: containers >= 0.5.10.2 && < 0.7+ build-depends: containers >= 0.6 && < 0.9 , vector >= 0.12.0.1 && < 0.14- , deepseq ^>= 1.4+ , deepseq >= 1.4 && < 1.7 test-suite typerep-map-test import: common-options@@ -106,10 +121,10 @@ , Test.TypeRep.Vector , Test.TypeRep.VectorOpt - build-depends: ghc-typelits-knownnat >= 0.4.2 && < 0.8- , hedgehog >= 1.0 && < 1.3- , hspec >= 2.7.1 && < 2.11- , hspec-hedgehog ^>= 0.0.1+ build-depends: ghc-typelits-knownnat >= 0.4.2 && < 0.9+ , hedgehog >= 1.0 && < 1.8+ , hspec >= 2.7.1 && < 2.12+ , hspec-hedgehog >= 0.0.1 && < 0.4 , typerep-map , typerep-extra-impls @@ -129,10 +144,10 @@ , OptimalVector build-depends: criterion >= 1.4.1.0 && < 1.7- , deepseq ^>= 1.4.3.0 , dependent-map >= 0.2.4.0 && < 0.5 , dependent-sum >= 0.5 && < 0.8- , ghc-typelits-knownnat >= 0.4.2 && < 0.8+ , deepseq+ , ghc-typelits-knownnat >= 0.4.2 && < 0.9 , typerep-map , typerep-extra-impls