ron-0.4: RON, RON-RDT, and RON-Schema

Safe HaskellNone
LanguageHaskell2010

RON.Data.RGA

Description

Replicated Growable Array (RGA)

Synopsis

Documentation

newtype RGA a Source #

Typed RGA

Constructors

RGA [a] 
Instances
Eq a => Eq (RGA a) Source # 
Instance details

Defined in RON.Data.RGA

Methods

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

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

Replicated a => ReplicatedAsObject (RGA a) Source # 
Instance details

Defined in RON.Data.RGA

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

Defined in RON.Data.RGA

Methods

encoding :: Encoding (RGA a) Source #

data RgaRaw Source #

Untyped RGA

Instances
Eq RgaRaw Source # 
Instance details

Defined in RON.Data.RGA

Methods

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

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

Show RgaRaw Source # 
Instance details

Defined in RON.Data.RGA

Semigroup RgaRaw Source # 
Instance details

Defined in RON.Data.RGA

Monoid RgaRaw Source # 
Instance details

Defined in RON.Data.RGA

Reducible RgaRaw Source # 
Instance details

Defined in RON.Data.RGA

type RgaString = RGA Char Source #

Speciaization of RGA to Char. This is the recommended way to store a string.

edit :: (Replicated a, ReplicatedAsPayload a, ReplicaClock m, MonadError String m, MonadState (Object (RGA a)) m) => [a] -> m () Source #

Replace content of the RGA throug introducing changes detected by getGroupedDiffBy.

getList :: Replicated a => Object (RGA a) -> Either String [a] Source #

Read elements from RGA

newFromList :: (Replicated a, ReplicaClock m) => [a] -> m (Object (RGA a)) Source #

Create an RGA from a list

newFromText :: ReplicaClock m => Text -> m (Object RgaString) Source #

Create an RgaString from a text

rgaType :: UUID Source #

Name-UUID to use as RGA type marker.