packages feed

binary-instances 1.0.0.1 → 1.0.1

raw patch · 4 files changed

+56/−22 lines, 4 filesdep ~basedep ~quickcheck-instancesdep ~tastyPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base, quickcheck-instances, tasty, time-compat

API changes (from Hackage documentation)

- Data.Binary.Instances.Time: instance Data.Binary.Class.Binary Data.Time.Calendar.Compat.CalendarDiffDays
- Data.Binary.Instances.Time: instance Data.Binary.Class.Binary Data.Time.Calendar.Compat.DayOfWeek
- Data.Binary.Instances.Time: instance Data.Binary.Class.Binary Data.Time.LocalTime.Compat.CalendarDiffTime
- Data.Binary.Instances.UnorderedContainers: instance (Data.Hashable.Class.Hashable k, GHC.Classes.Eq k, Data.Binary.Class.Binary k, Data.Binary.Class.Binary v) => Data.Binary.Class.Binary (Data.HashMap.Base.HashMap k v)
- Data.Binary.Instances.UnorderedContainers: instance (Data.Hashable.Class.Hashable v, GHC.Classes.Eq v, Data.Binary.Class.Binary v) => Data.Binary.Class.Binary (Data.HashSet.Base.HashSet v)
+ Data.Binary.Instances.Time: instance Data.Binary.Class.Binary Data.Time.Calendar.CalendarDiffDays.CalendarDiffDays
+ Data.Binary.Instances.Time: instance Data.Binary.Class.Binary Data.Time.Calendar.Month.Compat.Month
+ Data.Binary.Instances.Time: instance Data.Binary.Class.Binary Data.Time.Calendar.Quarter.Compat.Quarter
+ Data.Binary.Instances.Time: instance Data.Binary.Class.Binary Data.Time.Calendar.Quarter.Compat.QuarterOfYear
+ Data.Binary.Instances.Time: instance Data.Binary.Class.Binary Data.Time.Calendar.Week.DayOfWeek
+ Data.Binary.Instances.Time: instance Data.Binary.Class.Binary Data.Time.LocalTime.Internal.CalendarDiffTime.CalendarDiffTime
+ Data.Binary.Instances.UnorderedContainers: instance (Data.Hashable.Class.Hashable k, GHC.Classes.Eq k, Data.Binary.Class.Binary k, Data.Binary.Class.Binary v) => Data.Binary.Class.Binary (Data.HashMap.Internal.HashMap k v)
+ Data.Binary.Instances.UnorderedContainers: instance (Data.Hashable.Class.Hashable v, GHC.Classes.Eq v, Data.Binary.Class.Binary v) => Data.Binary.Class.Binary (Data.HashSet.Internal.HashSet v)

Files

CHANGELOG.md view
@@ -1,3 +1,7 @@+## 1.0.1++- Add instances for `time-1.11` types: `Month`, `Quarter`, `QuarterOfYear`+ ## 1  - **Breaking change** rename this package to `binary-instances`.
binary-instances.cabal view
@@ -1,12 +1,12 @@ name:               binary-instances-version:            1.0.0.1+version:            1.0.1 synopsis:           Orphan instances for binary description:   `binary-instances` defines orphan instances for types in some popular packages.  category:           Web-homepage:           https://github.com/phadej/binary-instances#readme-bug-reports:        https://github.com/phadej/binary-instances/issues+homepage:           https://github.com/haskellari/binary-instances#readme+bug-reports:        https://github.com/haskellari/binary-instances/issues author:             Oleg Grenrus <oleg.grenrus@iki.fi> maintainer:         Oleg Grenrus <oleg.grenrus@iki.fi> license:            BSD3@@ -21,20 +21,20 @@    || ==8.2.2    || ==8.4.4    || ==8.6.5-   || ==8.8.3-   || ==8.10.1+   || ==8.8.4+   || ==8.10.2  extra-source-files: CHANGELOG.md  source-repository head   type:     git-  location: https://github.com/phadej/binary-instances+  location: https://github.com/haskellari/binary-instances  library   default-language: Haskell2010   hs-source-dirs:   src   build-depends:-      aeson                    >=0.7.0.6   && <1.5+      aeson                    >=0.7.0.6   && <1.6     , base                     >=4.6.0.1   && <4.15     , binary                   >=0.5.1.1   && <0.8.9     , binary-orphans           >=1.0.1     && <1.1@@ -44,7 +44,7 @@     , tagged                   >=0.7.3     && <0.8.7     , text                     >=1.2.0.6   && <1.3     , text-binary              >=0.2.1.1   && <0.3-    , time-compat              >=1.9.2.2   && <1.10+    , time-compat              >=1.9.4     && <1.10     , unordered-containers     >=0.2.5.1   && <0.3     , vector                   >=0.10.12.3 && <0.13     , vector-binary-instances  >=0.2.1.0   && <0.3@@ -74,11 +74,11 @@     , binary-instances     , case-insensitive     , hashable-    , QuickCheck            >=2.13.1   && <2.14-    , quickcheck-instances  >=0.3.21   && <0.4+    , QuickCheck            >=2.13.1   && <2.15+    , quickcheck-instances  >=0.3.25   && <0.4     , scientific     , tagged-    , tasty                 >=0.10.1.2 && <1.3+    , tasty                 >=0.10.1.2 && <1.4     , tasty-quickcheck      >=0.8.3.2  && <0.11     , text     , time-compat
src/Data/Binary/Instances/Time.hs view
@@ -6,12 +6,14 @@ import Data.Binary.Orphans () import Data.Word           (Word8) -import qualified Data.Fixed                    as Fixed-import qualified Data.Time.Calendar.Compat     as Time-import qualified Data.Time.Clock.Compat        as Time-import qualified Data.Time.Clock.System.Compat as Time-import qualified Data.Time.Clock.TAI.Compat    as Time-import qualified Data.Time.LocalTime.Compat    as Time+import qualified Data.Fixed                        as Fixed+import qualified Data.Time.Calendar.Compat         as Time+import qualified Data.Time.Calendar.Month.Compat   as Time+import qualified Data.Time.Calendar.Quarter.Compat as Time+import qualified Data.Time.Clock.Compat            as Time+import qualified Data.Time.Clock.System.Compat     as Time+import qualified Data.Time.Clock.TAI.Compat        as Time+import qualified Data.Time.LocalTime.Compat        as Time  instance Binary Time.Day where   get = fmap Time.ModifiedJulianDay get@@ -84,4 +86,27 @@             4 -> Time.Thursday             5 -> Time.Friday             6 -> Time.Saturday+            _ -> error "panic: get @DayOfWeek"++instance Binary Time.Month where+    put (Time.MkMonth m) = put m+    get = fmap Time.MkMonth get++instance Binary Time.Quarter where+    put (Time.MkQuarter m) = put m+    get = fmap Time.MkQuarter get++instance Binary Time.QuarterOfYear where+    put Time.Q1 = put (1 :: Word8)+    put Time.Q2 = put (2 :: Word8)+    put Time.Q3 = put (3 :: Word8)+    put Time.Q4 = put (4 :: Word8)++    get = do+        i <- get+        return $ case mod (i :: Word8) 7 of+            1 -> Time.Q1+            2 -> Time.Q2+            3 -> Time.Q3+            4 -> Time.Q4             _ -> error "panic: get @DayOfWeek"
test/Tests.hs view
@@ -21,11 +21,13 @@  import qualified Data.Vector.Unboxed as VU -import qualified Data.Time.Calendar.Compat     as Time-import qualified Data.Time.Clock.Compat        as Time-import qualified Data.Time.Clock.System.Compat as Time-import qualified Data.Time.Clock.TAI.Compat    as Time-import qualified Data.Time.LocalTime.Compat    as Time+import qualified Data.Time.Calendar.Compat         as Time+import qualified Data.Time.Calendar.Month.Compat   as Time+import qualified Data.Time.Calendar.Quarter.Compat as Time+import qualified Data.Time.Clock.Compat            as Time+import qualified Data.Time.Clock.System.Compat     as Time+import qualified Data.Time.Clock.TAI.Compat        as Time+import qualified Data.Time.LocalTime.Compat        as Time  main :: IO () main = defaultMain tests@@ -48,6 +50,9 @@     , roundtripProperty (undefined :: Time.TimeOfDay)     , roundtripProperty (undefined :: Time.TimeZone)     , roundtripProperty (undefined :: Time.UTCTime)+    , roundtripProperty (undefined :: Time.QuarterOfYear)+    , roundtripProperty (undefined :: Time.Quarter)+    , roundtripProperty (undefined :: Time.Month)     -- case-insensitive & text     , roundtripProperty (undefined :: (CI Text))     -- semigroups / monoids