Liking cljdoc? Tell your friends :D

com.manigfeald.dset


apply-deltaclj

(apply-delta a [delta-triples delta-cc :as delta])

Given a dset and a delta, apply the delta to the dset

Given a dset and a delta, apply the delta to the dset
raw docstring

assert-tripleclj

(assert-triple {:keys [eav aev ave ds casual-context delta] :as base}
               replica-id
               triple)

Add a triple to the dset at the replica-id

Add a triple to the dset at the replica-id
raw docstring

cmpclj

(cmp a b)

cmp-aevclj

(cmp-aev a b)

cmp-aveclj

(cmp-ave a b)

cmp-eavclj

(cmp-eav a b)

deltaclj


dot-compactclj

(dot-compact context)

dot-contextclj

(dot-context)
(dot-context cc)
(dot-context cc dc)

A dot context is essentially a special purpose set. All the values in the set are tuples of the form [node-id event-clock], and with one exception we know that if [X N+1] is in the dot context, then [X N] is also in the context, which allows the set to be represented as a map of {node-id event-clock}. The dot context can also contain, for a given node-id, a single [node-id event-clock], where N+1 doesn't imply N. For that case we still need a set. So a dot context is a set represented as a map and a set.

A dot context is essentially a special purpose set. All the values in
the set are tuples of the form [node-id event-clock], and with one
exception we know that if [X N+1] is in the dot context, then [X N]
is also in the context, which allows the set to be represented as a
map of {node-id event-clock}. The dot context can also contain, for
a given node-id, a single [node-id event-clock], where N+1 doesn't
imply N. For that case we still need a set. So a dot context is a
set represented as a map and a set.
raw docstring

dot-dom?clj

(dot-dom? sup sub)

Is sup a superset of sub?

Is sup a superset of sub?
raw docstring

dot-empty?clj

(dot-empty? c)

dot-in?clj

(dot-in? context [key value :as dot])

dot-insertclj

(dot-insert context [k value])
(dot-insert context k value compact?)

dot-joinclj

(dot-join c1 c2)

dot-makeclj

(dot-make {:as context :keys [cc dc]} id kont)

empty-dot-contextclj


joinclj

(join a b)

Given two dsets, return a new dset which is a merge of the casual history of the two

Given two dsets, return a new dset which is a merge of the casual
history of the two
raw docstring

join-deltasclj

(join-deltas [a1 a2 :as a] [b1 b2 :as b])

makeclj

(make)

Return an empty dset.

this triple store is more or less a large set of triples, it happens to also store some indices that make certain operations on the set more efficient. But the supported operations and the mechanics of the crdt remain that of a aworset.

Return an empty dset.

this triple store is more or less a large set of triples, it happens
to also store some indices that make certain operations on the set
more efficient. But the supported operations and the mechanics of the
crdt remain that of a aworset.
raw docstring

queryclj

(query {:keys [eav aev ave]} [a b c :as question])

Given a dset, return a seq of tuples that match the tuple pattern given. Patterns a tuples with nils for blanks.

Given a dset, return a seq of tuples that match the tuple pattern
given. Patterns a tuples with nils for blanks.
raw docstring

retract-tripleclj

(retract-triple {:keys [eav aev ave ds casual-context delta] :as base}
                replica-id
                triple)

Remove a triple from the dset at the replica-id

Remove a triple from the dset at the replica-id
raw docstring

valuesclj

(values {:keys [eav]})

Get the set in the dset, don't use this

Get the set in the dset, don't use this
raw docstring

without-deltaclj

(without-delta base)

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close