packages feed

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 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