strict-stm 1.3.0.0 → 1.4.0.0
raw patch · 10 files changed
+42/−49 lines, 10 filesdep ~basedep ~io-classesPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, io-classes
API changes (from Hackage documentation)
- Control.Concurrent.Class.MonadSTM.Strict: data TraceValue
+ Control.Concurrent.Class.MonadSTM.Strict: data () => TraceValue
- Control.Concurrent.Class.MonadSTM.Strict: type family InspectMonad (m :: Type -> Type) :: Type -> Type;
+ Control.Concurrent.Class.MonadSTM.Strict: type family InspectMonad (m :: Type -> Type) :: Type -> Type
Files
- CHANGELOG.md +3/−5
- NOTICE +1/−1
- src/Control/Concurrent/Class/MonadSTM/Strict.hs +10/−14
- src/Control/Concurrent/Class/MonadSTM/Strict/TArray.hs +2/−2
- src/Control/Concurrent/Class/MonadSTM/Strict/TBQueue.hs +3/−3
- src/Control/Concurrent/Class/MonadSTM/Strict/TChan.hs +2/−2
- src/Control/Concurrent/Class/MonadSTM/Strict/TMVar.hs +2/−2
- src/Control/Concurrent/Class/MonadSTM/Strict/TQueue.hs +2/−2
- src/Control/Concurrent/Class/MonadSTM/Strict/TVar.hs +11/−5
- strict-stm.cabal +6/−13
CHANGELOG.md view
@@ -1,14 +1,12 @@ # Changelog -## next release--### Breaking changes+## 1.4.0.0 -### Non-breaking changes+* `io-sim-1.4.0.0`. ## 1.3.0.0 -- `io-sim-1.3.0.0`.+* `io-sim-1.3.0.0`. * Support `ghc-9.8`. ## 1.2.0.0
NOTICE view
@@ -1,4 +1,4 @@-Copyright 2019-2023 Input Output Global Inc (IOG)+Copyright 2019-2024 Input Output Global Inc (IOG) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
src/Control/Concurrent/Class/MonadSTM/Strict.hs view
@@ -1,19 +1,15 @@ -- | This module corresponds to `Control.Concurrent.STM` in "stm" package ---module Control.Concurrent.Class.MonadSTM.Strict- (module STM)- where+module Control.Concurrent.Class.MonadSTM.Strict (module STM) where -import Control.Monad.Class.MonadSTM as STM hiding ( traceTVar, traceTVarIO,- traceTMVar, traceTMVarIO,- traceTQueue, traceTQueueIO,- traceTBQueue, traceTBQueueIO- )-import Control.Concurrent.Class.MonadSTM.Strict.TVar as STM-import Control.Concurrent.Class.MonadSTM.Strict.TMVar as STM-import Control.Concurrent.Class.MonadSTM.Strict.TChan as STM-import Control.Concurrent.Class.MonadSTM.Strict.TQueue as STM-import Control.Concurrent.Class.MonadSTM.Strict.TBQueue as STM-import Control.Concurrent.Class.MonadSTM.Strict.TArray as STM+import Control.Concurrent.Class.MonadSTM.Strict.TArray as STM+import Control.Concurrent.Class.MonadSTM.Strict.TBQueue as STM+import Control.Concurrent.Class.MonadSTM.Strict.TChan as STM+import Control.Concurrent.Class.MonadSTM.Strict.TMVar as STM+import Control.Concurrent.Class.MonadSTM.Strict.TQueue as STM+import Control.Concurrent.Class.MonadSTM.Strict.TVar as STM+import Control.Monad.Class.MonadSTM as STM hiding (traceTBQueue, traceTBQueueIO,+ traceTMVar, traceTMVarIO, traceTQueue, traceTQueueIO, traceTVar,+ traceTVarIO)
src/Control/Concurrent/Class/MonadSTM/Strict/TArray.hs view
@@ -16,9 +16,9 @@ ) where -import qualified Control.Concurrent.Class.MonadSTM.TArray as Lazy+import Control.Concurrent.Class.MonadSTM.TArray qualified as Lazy -import Data.Array.Base (MArray (..))+import Data.Array.Base (MArray (..)) type LazyTArray m = Lazy.TArray m
src/Control/Concurrent/Class/MonadSTM/Strict/TBQueue.hs view
@@ -33,10 +33,10 @@ ) where -import qualified Control.Concurrent.Class.MonadSTM.TBQueue as Lazy-import Control.Monad.Class.MonadSTM hiding (traceTBQueue, traceTBQueueIO)+import Control.Concurrent.Class.MonadSTM.TBQueue qualified as Lazy+import Control.Monad.Class.MonadSTM hiding (traceTBQueue, traceTBQueueIO) -import Numeric.Natural (Natural)+import Numeric.Natural (Natural) type LazyTBQueue m = Lazy.TBQueue m
src/Control/Concurrent/Class/MonadSTM/Strict/TChan.hs view
@@ -26,8 +26,8 @@ ) where -import qualified Control.Concurrent.Class.MonadSTM.TChan as Lazy-import Control.Monad.Class.MonadSTM+import Control.Concurrent.Class.MonadSTM.TChan qualified as Lazy+import Control.Monad.Class.MonadSTM type LazyTChan m = Lazy.TChan m
src/Control/Concurrent/Class/MonadSTM/Strict/TMVar.hs view
@@ -33,8 +33,8 @@ ) where -import qualified Control.Concurrent.Class.MonadSTM.TMVar as Lazy-import Control.Monad.Class.MonadSTM hiding (traceTMVar, traceTMVarIO)+import Control.Concurrent.Class.MonadSTM.TMVar qualified as Lazy+import Control.Monad.Class.MonadSTM hiding (traceTMVar, traceTMVarIO) type LazyTMVar m = Lazy.TMVar m
src/Control/Concurrent/Class/MonadSTM/Strict/TQueue.hs view
@@ -32,8 +32,8 @@ ) where -import qualified Control.Concurrent.Class.MonadSTM.TQueue as Lazy-import Control.Monad.Class.MonadSTM hiding (traceTQueue, traceTQueueIO)+import Control.Concurrent.Class.MonadSTM.TQueue qualified as Lazy+import Control.Monad.Class.MonadSTM hiding (traceTQueue, traceTQueueIO) type LazyTQueue m = Lazy.TQueue m
src/Control/Concurrent/Class/MonadSTM/Strict/TVar.hs view
@@ -1,6 +1,7 @@-{-# LANGUAGE BangPatterns #-}-{-# LANGUAGE TypeFamilies #-}-{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE BangPatterns #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-} -- | This module corresponds to `Control.Concurrent.STM.TVar` in "stm" package --@@ -28,8 +29,8 @@ , traceTVarIO ) where -import qualified Control.Concurrent.Class.MonadSTM.TVar as Lazy-import Control.Monad.Class.MonadSTM hiding (traceTVar, traceTVarIO)+import Control.Concurrent.Class.MonadSTM.TVar qualified as Lazy+import Control.Monad.Class.MonadSTM hiding (traceTVar, traceTVarIO) type LazyTVar m = Lazy.TVar m @@ -56,6 +57,11 @@ -> m () traceTVarIO StrictTVar {tvar} = Lazy.traceTVarIO tvar +-- | Cast the monad if both use the same representation of `TVar`s.+--+-- This function is useful for monad transformers stacks if the `TVar` is used+-- in different monad stacks.+-- castStrictTVar :: LazyTVar m ~ LazyTVar n => StrictTVar m a -> StrictTVar n a castStrictTVar StrictTVar {tvar} = StrictTVar {tvar}
strict-stm.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: strict-stm-version: 1.3.0.0+version: 1.4.0.0 synopsis: Strict STM interface polymorphic over stm implementation. description: Strict STM interface provided on top of@@ -9,7 +9,7 @@ & [io-sim](https://hackage.haskell.org/package/io-sim). license: Apache-2.0 license-files: LICENSE NOTICE-copyright: 2019-2023 Input Output Global Inc (IOG)+copyright: 2019-2024 Input Output Global Inc (IOG) author: Alexander Vieth, Duncan Coutts, Marcin Szamotulski, Thomas Winant maintainer: Duncan Coutts dunca@well-typed.com, Marcin Szamotulski coot@coot.me category: Concurrency@@ -40,19 +40,12 @@ Control.Concurrent.Class.MonadSTM.Strict.TVar reexported-modules: Control.Concurrent.Class.MonadSTM.TSem as Control.Concurrent.Class.MonadSTM.Strict.TSem default-language: Haskell2010- default-extensions: BangPatterns,- CPP,- ExplicitNamespaces,- FlexibleContexts,- FlexibleInstances,- GADTs,- NamedFieldPuns,- TypeOperators- build-depends: base >= 4.9 && <4.20,+ default-extensions: ImportQualifiedPost+ build-depends: base >=4.9 && <4.20, array,- stm >= 2.5 && <2.6,+ stm >=2.5 && <2.6, - io-classes ^>= 1.3+ io-classes ^>=1.4 ghc-options: -Wall -Wno-unticked-promoted-constructors -Wcompat