actor() = term()
args() = list()
error() = {error, atom()}
func() = atom()
id() = binary() | {binary(), type()}
metadata() = orddict:orddict()
operation() = {atom(), value()} | {atom(), value(), value()} | atom()
threshold() = value() | {strict, value()}
type() = term()
value() = term()
var() = {id(), type(), metadata(), value()}
| bind/2 | Bind a dataflow variable to a value. |
| bind/4 | Bind a dataflow variable to the result of a function call. |
| bind_to/2 | Bind a dataflow variable to another dataflow variable. |
| declare/1 | Declare a new dataflow variable of a given type. |
| declare/2 | Declare a new dataflow variable of a given type. |
| declare_dynamic/1 | Declare a new dynamic variable of a given type. |
| declare_dynamic/2 | Declare a new dynamic variable of a given type and identifier. |
| disinterested/1 | |
| enforce_once/3 | Enforce an invariant once, by selecting the lowest node in the membership list. |
| filter/3 | Filter values from one lattice into another. |
| fold/3 | Fold values from one lattice into another. |
| interested/1 | |
| intersection/3 | Compute the intersection of two sets. |
| invariant/3 | Invariant enforcing function; once a particular threhsold for an object is met, then invoke the enforce function. |
| map/3 | Map values from one lattice into another. |
| product/3 | Compute the cartesian product of two sets. |
| propagate/1 | Propagate values by identifier. |
| query/1 | Return the current value of a CRDT. |
| read/2 | Blocking monotonic read operation for a given dataflow variable. |
| read_any/1 | Blocking monotonic read operation for a list of given dataflow variables. |
| remove_topic/2 | |
| reset/0 | Reset state. |
| set_topic/2 | |
| stream/2 | Stream values out of the Lasp system; using the values from this stream can result in observable nondeterminism. |
| thread/3 | Spawn a function. |
| union/3 | Compute the union of two sets. |
| update/3 | Update a dataflow variable. |
| wait_needed/2 | Pause execution until value requested with given threshold. |
Bind a dataflow variable to a value.
The providedId is identifier of a previously declared (see:
declare/0) dataflow variable. The Value provided is
the value to bind.
Bind a dataflow variable to the result of a function call.
ExecuteModule:Function(Args) and bind the result using bind/2.
Bind a dataflow variable to another dataflow variable.
The providedId is identifier of a previously declared (see:
declare/0) dataflow variable. The Value provided is
the value to bind.
Declare a new dataflow variable of a given type.
Declare a new dataflow variable of a given type.
Declare a new dynamic variable of a given type.
Declare a new dynamic variable of a given type and identifier.
disinterested(Topic) -> any()
enforce_once(Id, Threshold, EnforceFun) -> any()
Enforce an invariant once, by selecting the lowest node in the membership list.
Filter values from one lattice into another.
Applies the givenFunction as a filter over the items in Id,
placing the result in AccId, both of which need to be declared
variables.
Fold values from one lattice into another.
Applies the givenFunction as a fold over the items in Id,
placing the result in AccId, both of which need to be declared
variables.
interested(Topic) -> any()
Compute the intersection of two sets.
Computes the intersection of two sets and bind the result to a third.invariant(Id, Threshold, EnforceFun) -> any()
Invariant enforcing function; once a particular threhsold for an object is met, then invoke the enforce function.
Map values from one lattice into another.
Applies the givenFunction as a map over the items in Id,
placing the result in AccId, both of which need to be declared
variables.
Compute the cartesian product of two sets.
Computes the cartestian product of two sets and bind the result to a third.propagate(Id) -> any()
Propagate values by identifier.
Return the current value of a CRDT.
For a givenId, compute the current value of a CRDT and return
it.
read(Id::id(), Threshold::threshold()) -> {ok, var()} | {error, timeout}
Blocking monotonic read operation for a given dataflow variable.
Block until the variable identified byId has been bound, and
is monotonically greater (as defined by the lattice) then the
provided Threshold value.
read_any(Reads::[{id(), threshold()}]) -> {ok, var()} | {error, timeout}
Blocking monotonic read operation for a list of given dataflow variables.
remove_topic(Id, Topic) -> any()
reset() -> any()
Reset state.
set_topic(Id, Topic) -> any()
stream(Id, Function) -> any()
Stream values out of the Lasp system; using the values from this stream can result in observable nondeterminism.
Spawn a function.
Spawn a process executingModule:Function(Args).
Compute the union of two sets.
Computes the union of two sets and bind the result to a third.update(Id::id(), Operation::operation(), Actor::actor()) -> {ok, var()} | {error, timeout}
Update a dataflow variable.
Read the givenId and update it given the provided
Operation, which should be valid for the type of CRDT stored
at the given Id.
wait_needed(Id::id(), Threshold::threshold()) -> ok | {error, timeout}
Pause execution until value requested with given threshold.
Pause execution of calling thread until a read operation is issued for the givenId. Used to introduce laziness into a
computation.
Generated by EDoc