OneTuple 0.4.1 → 0.4.1.1
raw patch · 3 files changed
+39/−13 lines, 3 filesdep ~basedep ~hashablePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, hashable
API changes (from Hackage documentation)
Files
- Changelog.md +4/−0
- OneTuple.cabal +20/−12
- src/Data/Tuple/Solo.hs +15/−1
Changelog.md view
@@ -1,3 +1,7 @@+# 0.4.1.1++- Support GHC-7.2 and GHC-7.0.+ # 0.4.1 - Mark `MkSolo` pattern synonym as `COMPLETE`
OneTuple.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.12 name: OneTuple-version: 0.4.1+version: 0.4.1.1 synopsis: Singleton Tuple category: Data description:@@ -22,7 +22,9 @@ stability: experimental build-type: Simple tested-with:- GHC ==7.4.2+ GHC ==7.0.4+ || ==7.2.2+ || ==7.4.2 || ==7.6.3 || ==7.8.4 || ==7.10.3@@ -52,15 +54,23 @@ hs-source-dirs: src build-depends:- base >=4.5 && <4.19+ base >=4.3 && <4.19 , template-haskell if impl(ghc >=9.0) build-depends: ghc-prim else- build-depends: hashable >=1.3.5.0 && <1.5+ if impl(ghc >=7.4)+ build-depends: hashable >=1.3.5.0 && <1.5 + else+ build-depends: hashable >=1.2.5.0 && <1.3++ -- generics+ if !impl(ghc >=7.6)+ build-depends: ghc-prim+ if !impl(ghc >=8.0) build-depends: semigroups >=0.18.4 && <0.21@@ -73,15 +83,13 @@ else build-depends: transformers-compat >=0.5.1.0 && <0.8 - if !impl(ghc >=9.2)- build-depends: base-orphans >=0.8.6 - if !impl(ghc >=7.6)- build-depends: ghc-prim- if !impl(ghc >=9.0)- build-depends: foldable1-classes-compat >=0.1 && <0.2+ build-depends: foldable1-classes-compat >=0.1 && <0.2 + if !impl(ghc >=9.2)+ build-depends: base-orphans >=0.8.6+ test-suite instances type: exitcode-stdio-1.0 default-language: Haskell98@@ -89,7 +97,7 @@ main-is: instances.hs build-depends: base- , hashable >=1.3.5.0 && <1.5+ , hashable , OneTuple if !impl(ghc >=8.0)@@ -99,7 +107,7 @@ , transformers-compat if !impl(ghc >=9.6)- build-depends: foldable1-classes-compat >=0.1 && <0.2+ build-depends: foldable1-classes-compat >=0.1 && <0.2 test-suite th type: exitcode-stdio-1.0
src/Data/Tuple/Solo.hs view
@@ -1,12 +1,20 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE Safe #-}++#if __GLASGOW_HASKELL__ >=702 {-# LANGUAGE DeriveGeneric #-}+#endif #if __GLASGOW_HASKELL__ >= 708 {-# LANGUAGE PatternSynonyms #-} #endif +#if __GLASGOW_HASKELL__ >=704+{-# LANGUAGE Safe #-}+#elif __GLASGOW_HASKELL__ >=702+{-# LANGUAGE Trustworthy #-}+#endif+ -- | 'Solo' fills the /tuple gap/ with a singleton tuple. -- -- 'Solo' /does not support/ the usual parenthesized tuple syntax.@@ -109,17 +117,21 @@ #endif #endif +#if MIN_VERSION_base(4,4,0) import GHC.Generics (Generic, Generic1) import Control.Monad.Zip (MonadZip (..))+#endif -- | Solo is the singleton tuple data type. data Solo a = MkSolo { getSolo :: a } deriving ( Eq,Ord,Bounded,Read,Typeable,Data+#if MIN_VERSION_base(4,4,0) , Generic #if __GLASGOW_HASKELL__ >=706 , Generic1 #endif+#endif ) #if __GLASGOW_HASKELL__ >= 708@@ -212,8 +224,10 @@ instance MonadFix Solo where mfix f = let a = f (getSolo a) in a +#if MIN_VERSION_base(4,4,0) instance MonadZip Solo where mzipWith f (MkSolo a) (MkSolo b) = MkSolo (f a b)+#endif #ifdef LIFTED_FUNCTOR_CLASSES instance Eq1 Solo where