binary-tagged 0.1.4.2 → 0.1.5
raw patch · 3 files changed
+63/−52 lines, 3 filesdep ~aesondep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: aeson, base
API changes (from Hackage documentation)
- Data.Binary.Tagged: instance (Data.Binary.Class.Binary a, Data.Binary.Tagged.HasStructuralInfo a, GHC.TypeLits.KnownNat v) => Data.Binary.Class.Binary (Data.Binary.Tagged.BinaryTagged v a)
- Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion a, Data.Binary.Tagged.HasSemanticVersion b, Data.Binary.Tagged.HasSemanticVersion c, Data.Binary.Tagged.HasSemanticVersion d, GHC.TypeLits.KnownNat (Data.Binary.Tagged.SemanticVersion (a, b, c, d))) => Data.Binary.Tagged.HasSemanticVersion (a, b, c, d)
- Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion a, Data.Binary.Tagged.HasSemanticVersion b, Data.Binary.Tagged.HasSemanticVersion c, GHC.TypeLits.KnownNat (Data.Binary.Tagged.SemanticVersion (a, b, c))) => Data.Binary.Tagged.HasSemanticVersion (a, b, c)
- Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion a, Data.Binary.Tagged.HasSemanticVersion b, GHC.TypeLits.KnownNat (Data.Binary.Tagged.SemanticVersion (Data.Either.Either a b))) => Data.Binary.Tagged.HasSemanticVersion (Data.Either.Either a b)
- Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion a, Data.Binary.Tagged.HasSemanticVersion b, GHC.TypeLits.KnownNat (Data.Binary.Tagged.SemanticVersion (a, b))) => Data.Binary.Tagged.HasSemanticVersion (a, b)
- Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion i, Data.Binary.Tagged.HasSemanticVersion e, GHC.TypeLits.KnownNat (Data.Binary.Tagged.SemanticVersion (Data.Array.Base.UArray i e))) => Data.Binary.Tagged.HasSemanticVersion (Data.Array.Base.UArray i e)
- Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion i, Data.Binary.Tagged.HasSemanticVersion e, GHC.TypeLits.KnownNat (Data.Binary.Tagged.SemanticVersion (GHC.Arr.Array i e))) => Data.Binary.Tagged.HasSemanticVersion (GHC.Arr.Array i e)
- Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion k, Data.Binary.Tagged.HasSemanticVersion v, GHC.TypeLits.KnownNat (Data.Binary.Tagged.SemanticVersion (Data.HashMap.Base.HashMap k v))) => Data.Binary.Tagged.HasSemanticVersion (Data.HashMap.Base.HashMap k v)
- Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion k, Data.Binary.Tagged.HasSemanticVersion v, GHC.TypeLits.KnownNat (Data.Binary.Tagged.SemanticVersion (Data.Map.Base.Map k v))) => Data.Binary.Tagged.HasSemanticVersion (Data.Map.Base.Map k v)
- Data.Binary.Tagged: instance (Data.Binary.Tagged.HasStructuralInfo k, Data.Binary.Tagged.HasStructuralInfo v) => Data.Binary.Tagged.HasStructuralInfo (Data.Map.Base.Map k v)
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.IntSet.Base.IntSet
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.Time.Clock.Scale.DiffTime
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.Time.Clock.Scale.UniversalTime
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.Time.Clock.UTC.NominalDiffTime
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.Time.Clock.UTC.UTCTime
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.Time.LocalTime.LocalTime.LocalTime
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.Time.LocalTime.TimeOfDay.TimeOfDay
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.Time.LocalTime.TimeZone.TimeZone
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion a => Data.Binary.Tagged.HasSemanticVersion (Data.IntMap.Base.IntMap a)
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion a => Data.Binary.Tagged.HasSemanticVersion (Data.Sequence.Seq a)
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion a => Data.Binary.Tagged.HasSemanticVersion (Data.Set.Base.Set a)
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.IntSet.Base.IntSet
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.Time.Clock.Scale.DiffTime
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.Time.Clock.Scale.UniversalTime
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.Time.Clock.UTC.NominalDiffTime
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.Time.Clock.UTC.UTCTime
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.Time.LocalTime.LocalTime.LocalTime
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.Time.LocalTime.TimeOfDay.TimeOfDay
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.Time.LocalTime.TimeZone.TimeZone
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo a => Data.Binary.Tagged.HasStructuralInfo (Data.IntMap.Base.IntMap a)
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo a => Data.Binary.Tagged.HasStructuralInfo (Data.Sequence.Seq a)
- Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo a => Data.Binary.Tagged.HasStructuralInfo (Data.Set.Base.Set a)
+ Data.Binary.Tagged: instance (Data.Binary.Class.Binary a, Data.Binary.Tagged.HasStructuralInfo a, GHC.TypeNats.KnownNat v) => Data.Binary.Class.Binary (Data.Binary.Tagged.BinaryTagged v a)
+ Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion a, Data.Binary.Tagged.HasSemanticVersion b, Data.Binary.Tagged.HasSemanticVersion c, Data.Binary.Tagged.HasSemanticVersion d, GHC.TypeNats.KnownNat (Data.Binary.Tagged.SemanticVersion (a, b, c, d))) => Data.Binary.Tagged.HasSemanticVersion (a, b, c, d)
+ Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion a, Data.Binary.Tagged.HasSemanticVersion b, Data.Binary.Tagged.HasSemanticVersion c, GHC.TypeNats.KnownNat (Data.Binary.Tagged.SemanticVersion (a, b, c))) => Data.Binary.Tagged.HasSemanticVersion (a, b, c)
+ Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion a, Data.Binary.Tagged.HasSemanticVersion b, GHC.TypeNats.KnownNat (Data.Binary.Tagged.SemanticVersion (Data.Either.Either a b))) => Data.Binary.Tagged.HasSemanticVersion (Data.Either.Either a b)
+ Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion a, Data.Binary.Tagged.HasSemanticVersion b, GHC.TypeNats.KnownNat (Data.Binary.Tagged.SemanticVersion (a, b))) => Data.Binary.Tagged.HasSemanticVersion (a, b)
+ Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion i, Data.Binary.Tagged.HasSemanticVersion e, GHC.TypeNats.KnownNat (Data.Binary.Tagged.SemanticVersion (Data.Array.Base.UArray i e))) => Data.Binary.Tagged.HasSemanticVersion (Data.Array.Base.UArray i e)
+ Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion i, Data.Binary.Tagged.HasSemanticVersion e, GHC.TypeNats.KnownNat (Data.Binary.Tagged.SemanticVersion (GHC.Arr.Array i e))) => Data.Binary.Tagged.HasSemanticVersion (GHC.Arr.Array i e)
+ Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion k, Data.Binary.Tagged.HasSemanticVersion v, GHC.TypeNats.KnownNat (Data.Binary.Tagged.SemanticVersion (Data.HashMap.Base.HashMap k v))) => Data.Binary.Tagged.HasSemanticVersion (Data.HashMap.Base.HashMap k v)
+ Data.Binary.Tagged: instance (Data.Binary.Tagged.HasSemanticVersion k, Data.Binary.Tagged.HasSemanticVersion v, GHC.TypeNats.KnownNat (Data.Binary.Tagged.SemanticVersion (Data.Map.Internal.Map k v))) => Data.Binary.Tagged.HasSemanticVersion (Data.Map.Internal.Map k v)
+ Data.Binary.Tagged: instance (Data.Binary.Tagged.HasStructuralInfo k, Data.Binary.Tagged.HasStructuralInfo v) => Data.Binary.Tagged.HasStructuralInfo (Data.Map.Internal.Map k v)
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.IntSet.Internal.IntSet
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.Time.Clock.Internal.DiffTime.DiffTime
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.Time.Clock.Internal.NominalDiffTime.NominalDiffTime
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.Time.Clock.Internal.UTCTime.UTCTime
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.Time.Clock.Internal.UniversalTime.UniversalTime
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.Time.LocalTime.Internal.LocalTime.LocalTime
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.Time.LocalTime.Internal.TimeOfDay.TimeOfDay
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion Data.Time.LocalTime.Internal.TimeZone.TimeZone
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion a => Data.Binary.Tagged.HasSemanticVersion (Data.IntMap.Internal.IntMap a)
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion a => Data.Binary.Tagged.HasSemanticVersion (Data.Sequence.Internal.Seq a)
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasSemanticVersion a => Data.Binary.Tagged.HasSemanticVersion (Data.Set.Internal.Set a)
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.IntSet.Internal.IntSet
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.Time.Clock.Internal.DiffTime.DiffTime
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.Time.Clock.Internal.NominalDiffTime.NominalDiffTime
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.Time.Clock.Internal.UTCTime.UTCTime
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.Time.Clock.Internal.UniversalTime.UniversalTime
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.Time.LocalTime.Internal.LocalTime.LocalTime
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.Time.LocalTime.Internal.TimeOfDay.TimeOfDay
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo Data.Time.LocalTime.Internal.TimeZone.TimeZone
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo a => Data.Binary.Tagged.HasStructuralInfo (Data.IntMap.Internal.IntMap a)
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo a => Data.Binary.Tagged.HasStructuralInfo (Data.Sequence.Internal.Seq a)
+ Data.Binary.Tagged: instance Data.Binary.Tagged.HasStructuralInfo a => Data.Binary.Tagged.HasStructuralInfo (Data.Set.Internal.Set a)
+ Data.Binary.Tagged: instance forall k a (v :: k). Data.Semigroup.Semigroup a => Data.Semigroup.Semigroup (Data.Binary.Tagged.BinaryTagged v a)
- Data.Binary.Tagged: class KnownNat (SemanticVersion a) => HasSemanticVersion (a :: *) where type SemanticVersion a :: Nat type SemanticVersion a = 0 where {
+ Data.Binary.Tagged: class KnownNat (SemanticVersion a) => HasSemanticVersion (a :: *) where {
- Data.Binary.Tagged: class HasStructuralInfo a where structuralInfo = ghcStructuralInfo
+ Data.Binary.Tagged: class HasStructuralInfo a
Files
- CHANGELOG.md +3/−0
- binary-tagged.cabal +57/−52
- src/Data/Binary/Tagged.hs +3/−0
CHANGELOG.md view
@@ -1,3 +1,6 @@+- 0.1.5 (2018-05-20)+ - GHC-8.4.2+ - Don't depend on nats and semigroups on newer GHC - 0.1.4.2 (2016-12-05) - Fix compilation with generics-sop-0.2.3.0 - 0.1.4.1 (2016-09-20)
binary-tagged.cabal view
@@ -1,9 +1,5 @@--- This file has been generated from package.yaml by hpack version 0.14.1.------ see: https://github.com/sol/hpack- name: binary-tagged-version: 0.1.4.2+version: 0.1.5 synopsis: Tagged binary serialisation. description: Check <https://github.com/phadej/binary-tagged#readme README on Github> category: Web@@ -13,7 +9,7 @@ maintainer: Oleg Grenrus <oleg.grenrus@iki.fi> license: BSD3 license-file: LICENSE-tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.1+tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.2 build-type: Simple cabal-version: >= 1.10 @@ -30,28 +26,33 @@ src ghc-options: -Wall build-depends:- base >=4.7 && <4.10- , aeson >=0.8 && <1.1+ base >=4.7 && <4.12+ , aeson >=0.8 && <1.4 , array >=0.5 && <0.6 , base16-bytestring >=0.1.1.6 && <0.2- , binary >=0.7 && <0.9+ , binary >=0.7 && <0.10 , bytestring >=0.10 && <0.11 , containers >=0.5 && <0.6- , generics-sop >=0.1 && <0.3+ , generics-sop >=0.1 && <0.4 , hashable >=1.2 && <1.3- , nats >=1 && <1.2 , scientific >=0.3 && <0.4 , SHA >=1.6 && <1.7- , semigroups >=0.16 && <0.19 , tagged >=0.7 && <0.9 , text >=1.2 && <1.3- , time >=1.4 && <1.7+ , time >=1.4 && <1.9 , unordered-containers >=0.2 && <0.3- , vector >=0.10 && <0.12+ , vector >=0.10 && <0.13 exposed-modules: Data.Binary.Tagged default-language: Haskell2010 + if !impl(ghc >= 8.0)+ build-depends:+ semigroups >=0.16 && <0.19+ if !impl(ghc >= 7.10)+ build-depends:+ nats >=1 && <1.2+ test-suite binary-tagged-test type: exitcode-stdio-1.0 main-is: Tests.hs@@ -59,30 +60,34 @@ test ghc-options: -Wall build-depends:- base >=4.7 && <4.10- , aeson >=0.8 && <1.1- , array >=0.5 && <0.6- , base16-bytestring >=0.1.1.6 && <0.2- , binary >=0.7 && <0.9- , bytestring >=0.10 && <0.11- , containers >=0.5 && <0.6- , generics-sop >=0.1 && <0.3- , hashable >=1.2 && <1.3- , nats >=1 && <1.2- , scientific >=0.3 && <0.4- , SHA >=1.6 && <1.7- , semigroups >=0.16 && <0.19- , tagged >=0.7 && <0.9- , text >=1.2 && <1.3- , time >=1.4 && <1.7- , unordered-containers >=0.2 && <0.3- , vector >=0.10 && <0.12+ base+ , aeson+ , array+ , base16-bytestring+ , binary+ , bytestring+ , containers+ , generics-sop+ , hashable+ , scientific+ , SHA+ , tagged+ , text+ , time+ , unordered-containers+ , vector , binary-tagged- , binary-orphans >=0.1.1+ , binary-orphans , bifunctors , quickcheck-instances , tasty , tasty-quickcheck+ if !impl(ghc >= 8.0)+ build-depends:+ semigroups+ if !impl(ghc >= 7.10)+ build-depends:+ nats other-modules: Generators Rec1@@ -96,26 +101,26 @@ bench ghc-options: -Wall build-depends:- base >=4.7 && <4.10- , aeson >=0.8 && <1.1- , array >=0.5 && <0.6- , base16-bytestring >=0.1.1.6 && <0.2- , binary >=0.7 && <0.9- , bytestring >=0.10 && <0.11- , containers >=0.5 && <0.6- , generics-sop >=0.1 && <0.3- , hashable >=1.2 && <1.3- , nats >=1 && <1.2- , scientific >=0.3 && <0.4- , SHA >=1.6 && <1.7- , semigroups >=0.16 && <0.19- , tagged >=0.7 && <0.9- , text >=1.2 && <1.3- , time >=1.4 && <1.7- , unordered-containers >=0.2 && <0.3- , vector >=0.10 && <0.12+ base+ , aeson+ , array+ , base16-bytestring+ , binary+ , bytestring+ , containers+ , generics-sop+ , hashable+ , nats+ , scientific+ , SHA+ , semigroups+ , tagged+ , text+ , time+ , unordered-containers+ , vector , binary-tagged- , binary-orphans >=0.1.1+ , binary-orphans , deepseq , criterion default-language: Haskell2010
src/Data/Binary/Tagged.hs view
@@ -201,6 +201,9 @@ return = BinaryTagged BinaryTagged m >>= k = k m +instance Semigroup.Semigroup a => Semigroup.Semigroup (BinaryTagged v a) where+ (<>) = liftA2 (Semigroup.<>)+ instance Monoid.Monoid a => Monoid.Monoid (BinaryTagged v a) where mempty = pure Monoid.mempty mappend = liftA2 Monoid.mappend