crdt-9.1: Conflict-free replicated data types

Safe HaskellNone
LanguageHaskell2010

CRDT.Cm.ORSet

Documentation

data ORSet a Source #

Constructors

OpAdd a Tag 
OpRemove a (Set Tag) 

Instances

Show a => Show (ORSet a) Source # 

Methods

showsPrec :: Int -> ORSet a -> ShowS #

show :: ORSet a -> String #

showList :: [ORSet a] -> ShowS #

Ord a => CmRDT (ORSet a) Source # 

Associated Types

type Intent (ORSet a) :: * Source #

type Payload (ORSet a) :: * Source #

Methods

initial :: Payload (ORSet a) Source #

makeOp :: Clock m => Intent (ORSet a) -> Payload (ORSet a) -> Maybe (m (ORSet a)) Source #

apply :: ORSet a -> Payload (ORSet a) -> Payload (ORSet a) Source #

CausalOrd (ORSet a) Source # 

Methods

precedes :: ORSet a -> ORSet a -> Bool Source #

type Intent (ORSet a) Source # 
type Intent (ORSet a) = Intent a
type Payload (ORSet a) Source # 
type Payload (ORSet a) = Payload a

data Intent a Source #

Constructors

Add a 
Remove a 

Instances

Show a => Show (Intent a) Source # 

Methods

showsPrec :: Int -> Intent a -> ShowS #

show :: Intent a -> String #

showList :: [Intent a] -> ShowS #

data Payload a Source #

Constructors

Payload 

Fields

Instances

Eq a => Eq (Payload a) Source # 

Methods

(==) :: Payload a -> Payload a -> Bool #

(/=) :: Payload a -> Payload a -> Bool #

Show a => Show (Payload a) Source # 

Methods

showsPrec :: Int -> Payload a -> ShowS #

show :: Payload a -> String #

showList :: [Payload a] -> ShowS #

data Tag Source #

Constructors

Tag Pid Version 

Instances

Eq Tag Source # 

Methods

(==) :: Tag -> Tag -> Bool #

(/=) :: Tag -> Tag -> Bool #

Ord Tag Source # 

Methods

compare :: Tag -> Tag -> Ordering #

(<) :: Tag -> Tag -> Bool #

(<=) :: Tag -> Tag -> Bool #

(>) :: Tag -> Tag -> Bool #

(>=) :: Tag -> Tag -> Bool #

max :: Tag -> Tag -> Tag #

min :: Tag -> Tag -> Tag #

Show Tag Source # 

Methods

showsPrec :: Int -> Tag -> ShowS #

show :: Tag -> String #

showList :: [Tag] -> ShowS #

query :: (Ord a, Foldable f) => f (ORSet a) -> Set a Source #