tagged 0.8.9 → 0.8.10
raw patch · 4 files changed
+40/−16 lines, 4 filesdep −transformersdep ~template-haskell
Dependencies removed: transformers
Dependency ranges changed: template-haskell
Files
- CHANGELOG.markdown +10/−0
- src/Data/Proxy/TH.hs +11/−0
- src/Data/Tagged.hs +10/−7
- tagged.cabal +9/−9
CHANGELOG.markdown view
@@ -1,3 +1,13 @@+0.8.10 [2025.12.07]+-------------------+* Deprecate `Data.Proxy.TH.{pr,pr1}`, as their functionality has been subsumed+ by using `Proxy` with `TypeApplications` syntax. For instance, uses of+ `[pr|T|]` should be migrated to `Proxy @T`. `Data.Proxy.TH` will be removed+ in the next `tagged` release.+* Allow disabling the `template-haskell` dependency by disabling a `cabal` flag+ of the same name.+* Support building with MicroHs.+ 0.8.9 [2024.12.03] ------------------ * Allow building with GHC 9.12.
src/Data/Proxy/TH.hs view
@@ -37,6 +37,12 @@ -- @Proxy :: Proxy [A,B,C]@. -- TODO: parse a richer syntax for the types involved here so we can include spaces, applications, etc.+{-# DEPRECATED+ pr+ [ "'pr' will be removed in the next release. Use 'Proxy' with @TypeApplications@ instead. "+ , "Instead of using @[pr|T|]@, use @Proxy \\@T@ instead. "+ , "Instead of using @[pr|A,B,C|]@, use @Proxy \\@[A,B,C]@ instead. "+ ] #-} pr :: QuasiQuoter pr = QuasiQuoter (mkProxy proxyExpQ) (mkProxy proxyPatQ) (mkProxy proxyTypeQ) undefined where mkProxy :: (TypeQ -> r) -> String -> r@@ -56,6 +62,11 @@ -- of types. -- TODO: parse a richer syntax for the types involved here so we can include spaces, applications, etc.+{-# DEPRECATED+ pr1+ [ "'pr1' will be removed in the next release. Use 'Proxy' with @TypeApplications@ instead. "+ , "Instead of using @[pr1|T|]@, use @Proxy \\@'[T]@ instead. "+ ] #-} pr1 :: QuasiQuoter pr1 = QuasiQuoter (mkProxy proxyExpQ) (mkProxy proxyPatQ) (mkProxy proxyTypeQ) undefined where sing x = AppT (AppT PromotedConsT x) PromotedNilT
src/Data/Tagged.hs view
@@ -42,13 +42,9 @@ #ifdef MIN_VERSION_deepseq import Control.DeepSeq (NFData(..)) #endif-#ifdef MIN_VERSION_transformers import Data.Functor.Classes ( Eq1(..), Ord1(..), Read1(..), Show1(..)-# if !(MIN_VERSION_transformers(0,4,0)) || MIN_VERSION_transformers(0,5,0) , Eq2(..), Ord2(..), Read2(..), Show2(..)-# endif )-#endif import Control.Monad (liftM) import Data.Bifunctor #if MIN_VERSION_base(4,10,0)@@ -65,9 +61,14 @@ import Data.Ix (Ix(..)) import Data.Semigroup (Semigroup(..)) import Data.String (IsString(..))+#ifdef __MHS__+import Data.Traversable (Traversable(..))+#endif import Foreign.Ptr (castPtr) import Foreign.Storable (Storable(..))+#ifdef __GLASGOW_HASKELL__ import GHC.Generics (Generic, Generic1)+#endif -- | A @'Tagged' s b@ value is a value @b@ with an attached phantom type @s@. -- This can be used in place of the more traditional but less safe idiom of@@ -80,7 +81,11 @@ -- 'Tagged' has kind @k -> * -> *@ if the compiler supports @PolyKinds@, therefore -- there is an extra @k@ showing in the instance haddocks that may cause confusion. newtype Tagged s b = Tagged { unTagged :: b }- deriving (Eq, Ord, Ix, Bounded, Generic, Generic1)+ deriving ( Eq, Ord, Ix, Bounded+#ifdef __GLASGOW_HASKELL__+ , Generic, Generic1+#endif+ ) #ifdef __GLASGOW_HASKELL__ instance (Data s, Data b) => Data (Tagged s b) where@@ -154,7 +159,6 @@ rnf (Tagged b) = rnf b #endif -#ifdef MIN_VERSION_transformers instance Eq1 (Tagged s) where liftEq eq (Tagged a) (Tagged b) = eq a b @@ -184,7 +188,6 @@ liftShowsPrec2 _ _ sp _ n (Tagged b) = showParen (n > 10) $ showString "Tagged " . sp 11 b-#endif instance Applicative (Tagged s) where pure = Tagged
tagged.cabal view
@@ -1,5 +1,5 @@ name: tagged-version: 0.8.9+version: 0.8.10 license: BSD3 license-file: LICENSE author: Edward A. Kmett@@ -41,11 +41,11 @@ default: True manual: True -flag transformers+flag template-haskell description:- You can disable the use of the `transformers` and `transformers-compat` packages using `-f-transformers`.+ You can disable the use of the `template-haskell` package using `-f-template-haskell`. .- Disable this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.+ Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users. default: True manual: True @@ -53,12 +53,10 @@ default-language: Haskell98 other-extensions: CPP build-depends:- base >= 4.9 && < 5,- template-haskell >= 2.11 && < 2.24+ base >= 4.9 && < 5 ghc-options: -Wall hs-source-dirs: src exposed-modules:- Data.Proxy.TH Data.Tagged if impl(ghc >= 9.0)@@ -69,5 +67,7 @@ if flag(deepseq) build-depends: deepseq >= 1.1 && < 1.6 - if flag(transformers)- build-depends: transformers >= 0.4.2.0 && < 0.7+ if flag(template-haskell) && impl(ghc)+ build-depends: template-haskell >= 2.11 && < 2.24+ exposed-modules:+ Data.Proxy.TH