crdt-9.1: Conflict-free replicated data types

Safe HaskellSafe
LanguageHaskell2010

Data.Semilattice

Synopsis

Documentation

class Semigroup a => Semilattice a Source #

A semilattice.

It may be a join-semilattice, or meet-semilattice, it doesn't matter.

If it matters for you, use package lattices.

In addition to Semigroup, Semilattice defines this laws:

commutativity
x <> y == y <> x
idempotency
x <> x == x

Instances

Ord a => Semilattice (Max a) Source # 
Ord a => Semilattice (Set a) Source # 
Eq a => Semilattice (LWW a) Source #

See CvRDT

Ord a => Semilattice (TwoPSet a) Source # 
Eq a => Semilattice (RGA a) Source # 
Ord a => Semilattice (ORSet a) Source # 
Ord a => Semilattice (LwwElementSet a) Source # 
Ord a => Semilattice (GCounter a) Source #

See CvRDT

Ord a => Semilattice (PNCounter a) Source #

See CvRDT

merge :: Semilattice a => a -> a -> a infixr 6 Source #

Just (<>), specialized to Semilattice.