si-timers 1.1.0.0 → 1.2.0.0
raw patch · 3 files changed
+23/−9 lines, 3 filesdep +deepseqdep +nothunksdep ~io-classesPVP ok
version bump matches the API change (PVP)
Dependencies added: deepseq, nothunks
Dependency ranges changed: io-classes
API changes (from Hackage documentation)
+ Control.Monad.Class.MonadTime.SI: instance Control.DeepSeq.NFData Control.Monad.Class.MonadTime.SI.Time
+ Control.Monad.Class.MonadTime.SI: instance NoThunks.Class.NoThunks Control.Monad.Class.MonadTime.SI.Time
Files
- CHANGELOG.md +6/−0
- si-timers.cabal +8/−8
- src/Control/Monad/Class/MonadTime/SI.hs +9/−1
CHANGELOG.md view
@@ -1,5 +1,11 @@ # Changelog +## 1.2.0.0++## Non breaking changes++- Added NFData & NoThunks instances for `Time`+ ## 1.1.0.0 ### Non breaking changes
si-timers.cabal view
@@ -1,21 +1,19 @@ cabal-version: 3.0 name: si-timers-version: 1.1.0.0+version: 1.2.0.0 synopsis: timers using SI units (seconds) description: Timers using SI units (seconds) which are safe on 32-bit platforms and compatible with [io-sim](https://hackage.haskell.org/package/io-sim). license: Apache-2.0-license-files:- LICENSE- NOTICE+license-files: LICENSE NOTICE copyright: 2022-2023 Input Output Global Inc (IOG) author: Duncan Coutts, Neil Davis, Marcin Szamotulski maintainer: Duncan Coutts duncan@well-typed.com, Marcin Szamotulski coot@coot.me-category: Control+category: Time build-type: Simple-extra-source-files: CHANGELOG.md- README.md+extra-doc-files: CHANGELOG.md README.md+bug-reports: https://github.com/input-output-hk/io-sim/issues tested-with: GHC == { 8.10, 9.2, 9.4, 9.6 } flag asserts@@ -55,11 +53,13 @@ ScopedTypeVariables, TypeFamilies build-depends: base >=4.9 && <4.19,+ deepseq, mtl,+ nothunks, stm, time >=1.9.1 && <1.13, - io-classes >=1.0 && <1.2+ io-classes ^>=1.2 if flag(asserts) ghc-options: -fno-ignore-asserts
src/Control/Monad/Class/MonadTime/SI.hs view
@@ -1,5 +1,8 @@ {-# LANGUAGE DefaultSignatures #-}+{-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE NumericUnderscores #-} module Control.Monad.Class.MonadTime.SI@@ -18,12 +21,15 @@ ) where import Control.Monad.Reader+import Control.DeepSeq (NFData (..)) import Control.Monad.Class.MonadTime ( MonadMonotonicTimeNSec, MonadTime (..), NominalDiffTime, UTCTime, diffUTCTime, addUTCTime) import qualified Control.Monad.Class.MonadTime as MonadTime +import NoThunks.Class (NoThunks (..))+ import Data.Word (Word64) import Data.Time.Clock (DiffTime) import qualified Data.Time.Clock as Time@@ -37,7 +43,9 @@ -- program runs. It is represented as the 'DiffTime' from this arbitrary epoch. -- newtype Time = Time DiffTime- deriving (Eq, Ord, Show, Generic)+ deriving stock (Eq, Ord, Show, Generic)+ deriving newtype NFData+ deriving anyclass NoThunks -- | The time duration between two points in time (positive or negative). diffTime :: Time -> Time -> DiffTime