single-tuple 0.1.1.0 → 0.1.2.0
raw patch · 3 files changed
+31/−3 lines, 3 filesdep +ghc-primPVP ok
version bump matches the API change (PVP)
Dependencies added: ghc-prim
API changes (from Hackage documentation)
+ Data.Tuple.Single: instance Data.Tuple.Single.Single Unit
Files
- ChangeLog.md +6/−0
- single-tuple.cabal +4/−3
- src/Data/Tuple/Single.hs +21/−0
ChangeLog.md view
@@ -1,5 +1,11 @@ # Changelog for single-tuple +## 0.1.2.0++2021.05.21++Adding `GHC.Tuple.Solo` and `GHC.Tuple.Unit` as `Single`.+ ## 0.1.1.0 2020.05.26
single-tuple.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.2 name: single-tuple-version: 0.1.1.0+version: 0.1.2.0 synopsis: a class for single tuple implementations description: a class for single tuple implementations category: Data@@ -23,9 +23,10 @@ location: https://github.com/kakkun61/tuple common common- build-depends: base >=4.10 && <4.15,+ build-depends: base >=4.10 && <5, OneTuple >=0.2 && <0.3,- Only >=0.1 && <0.2+ Only >=0.1 && <0.2,+ ghc-prim ghc-options: -Wall -Wcompat -Wincomplete-uni-patterns
src/Data/Tuple/Single.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Safe #-} {-# LANGUAGE ViewPatterns #-}@@ -22,6 +23,12 @@ import Data.Tuple.OneTuple (OneTuple (OneTuple), only) import Data.Tuple.Only (Only (Only, fromOnly)) +#if MIN_VERSION_ghc_prim(0,7,0)+import GHC.Tuple (Solo (Solo))+#else+import GHC.Tuple (Unit (Unit))+#endif+ class Single t where wrap :: a -> t a unwrap :: t a -> a@@ -47,3 +54,17 @@ unwrap = only {-# COMPLETE Single :: OneTuple #-}++#if MIN_VERSION_ghc_prim(0,7,0)+instance Single Solo where+ wrap = Solo+ unwrap (Solo a) = a++{-# COMPLETE Single :: Solo #-}+#else+instance Single Unit where+ wrap = Unit+ unwrap (Unit a) = a++{-# COMPLETE Single :: Unit #-}+#endif