crdt 10.4 → 10.5
raw patch · 4 files changed
+9/−12 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- crdt.cabal +2/−2
- lib/CRDT/Cv/LwwElementSet.hs +0/−1
- lib/CRDT/LWW.hs +7/−8
- lib/CRDT/LamportClock/Simulation.hs +0/−1
crdt.cabal view
@@ -1,5 +1,5 @@ name: crdt-version: 10.4+version: 10.5 -- ^ ComVer category: Distributed Systems copyright:@@ -27,7 +27,7 @@ , bytestring , containers >= 0.5.9 -- since lookupMax is used- , Diff+ , Diff < 0.4 , hashable , mtl , network-info
lib/CRDT/Cv/LwwElementSet.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE TypeSynonymInstances #-} module CRDT.Cv.LwwElementSet ( LwwElementSet (..)
lib/CRDT/LWW.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE CPP #-}-{-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE TypeFamilies #-} #if __GLASGOW_HASKELL__ >= 800@@ -56,14 +55,14 @@ -- | Initialize state initialize :: Clock m => a -> m (LWW a)-initialize value = LWW value <$> getTime+initialize val = LWW val <$> getTime -- | Change state as CvRDT operation. -- Current value is ignored, because new timestamp is always greater. assign :: Clock m => a -> LWW a -> m (LWW a)-assign value old = do+assign val old = do advanceFromLWW old- initialize value+ initialize val -- | Query state query :: LWW a -> a@@ -83,9 +82,9 @@ initial = Nothing - makeOp value = Just . \case- Just payload -> assign value payload- Nothing -> initialize value+ makeOp val = Just . \case+ Just payload -> assign val payload+ Nothing -> initialize val apply op = Just . \case Just payload -> op <> payload@@ -94,4 +93,4 @@ #endif /* __GLASGOW_HASKELL__ >= 800 */ advanceFromLWW :: Clock m => LWW a -> m ()-advanceFromLWW LWW{time = LamportTime time _} = advance time+advanceFromLWW LWW{time = LamportTime t _} = advance t
lib/CRDT/LamportClock/Simulation.hs view
@@ -3,7 +3,6 @@ {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE NamedFieldPuns #-} module CRDT.LamportClock.Simulation (