Treiber 0.0.2 → 0.0.3
raw patch · 2 files changed
+3/−3 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Data.NonBlocking.LockFree.Treiber: type TreiberStackIO a = TreiberStack IORef a
+ Data.NonBlocking.LockFree.Treiber: type TreiberStackSTM a = TreiberStack TVar a
Files
Data/NonBlocking/LockFree/Treiber.hs view
@@ -8,7 +8,7 @@ An implementation of Treiber stacks, a lock free stack. Works with any monad that has atomically modificable references. -}-module Data.NonBlocking.LockFree.Treiber(TreiberStack(), newTreiberStack, pushTreiberStack, popTreiberStack) where+module Data.NonBlocking.LockFree.Treiber(TreiberStack(), TreiberStackIO, TreiberStackSTM, newTreiberStack, pushTreiberStack, popTreiberStack) where import Control.Concurrent.STM (STM()) import Control.Concurrent.STM.TVar (TVar())
Treiber.cabal view
@@ -1,5 +1,5 @@ Name: Treiber-Version: 0.0.2+Version: 0.0.3 Cabal-Version: >= 1.2 License: BSD3 Author: Julian Sutherland@@ -8,7 +8,7 @@ Synopsis: Lock free Treiber stack Build-Type: Simple Maintainer: Julian Sutherland (julian.sutherland10@imperial.ac.uk)-Description: An implementation of Treiber stacks, a lock free stack. Works with any monad that has atomically modificable references.+Description: An implementation of Treiber stacks, a lock free stack. Works with any monad that has atomically modificable references. Removed debug code accidentally left in in version 0.0.1 and added specializations of the TreiberStack data structure to the IO and STM monads (forgotten to export in 0.0.2). License-file: LICENSE Library