crdt-10.3: Conflict-free replicated data types

Safe HaskellNone
LanguageHaskell2010

CRDT.Cm.RGA

Description

Replicated Growable Array (RGA)

Documentation

data RGA a Source #

Constructors

OpAddAfter (Maybe VertexId) a VertexId
  • id of previous vertex, Nothing means the beginning
  • atom
  • id of this vertex
OpRemove VertexId 
Instances
Eq a => Eq (RGA a) Source # 
Instance details

Defined in CRDT.Cm.RGA

Methods

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

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

Show a => Show (RGA a) Source # 
Instance details

Defined in CRDT.Cm.RGA

Methods

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

show :: RGA a -> String #

showList :: [RGA a] -> ShowS #

(AsEmpty a, Ord a) => CmRDT (RGA a) Source # 
Instance details

Defined in CRDT.Cm.RGA

Associated Types

type Intent (RGA a) :: * Source #

type Payload (RGA a) :: * Source #

Methods

initial :: Payload (RGA a) Source #

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

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

CausalOrd (RGA a) Source # 
Instance details

Defined in CRDT.Cm.RGA

Methods

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

type Intent (RGA a) Source # 
Instance details

Defined in CRDT.Cm.RGA

type Intent (RGA a) = RgaIntent a
type Payload (RGA a) Source # 
Instance details

Defined in CRDT.Cm.RGA

type Payload (RGA a) = RgaPayload a

data RgaIntent a Source #

Constructors

AddAfter (Maybe VertexId) a

Nothing means the beginning

Remove VertexId 
Instances
Show a => Show (RgaIntent a) Source # 
Instance details

Defined in CRDT.Cm.RGA

data RgaPayload a Source #

Constructors

RgaPayload 

Fields

Instances
Eq a => Eq (RgaPayload a) Source # 
Instance details

Defined in CRDT.Cm.RGA

Methods

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

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

Show a => Show (RgaPayload a) Source # 
Instance details

Defined in CRDT.Cm.RGA

load :: Vector (VertexId, a) -> RgaPayload a Source #