nutcracker.data

Type members

Classlikes

final class CellSet[Ref[_], A] extends AnyVal

Similar to IncSet but specialized for domain references. Failed domains might be removed from this set automatically without emitting any delta.

Similar to IncSet but specialized for domain references. Failed domains might be removed from this set automatically without emitting any delta.

Companion:
object
object CellSet
Companion:
class
sealed trait Closeable[+A]

Represents a refinable value that in addition can be artificially revoked ("closed").

Represents a refinable value that in addition can be artificially revoked ("closed").

Companion:
object
object Closeable
Companion:
class
final class DecSet[A] extends AnyVal

Decreasing set. A wrapper for Set where a monotonic update is one that removes elements, e.g. by intersection or set difference. This is dual to the usual view of the poset of sets: here, smaller sets (by subset relation) are considered greater (i.e. are higher in the lattice), set intersection is the join and set union is the meet.

Decreasing set. A wrapper for Set where a monotonic update is one that removes elements, e.g. by intersection or set difference. This is dual to the usual view of the poset of sets: here, smaller sets (by subset relation) are considered greater (i.e. are higher in the lattice), set intersection is the join and set union is the meet.

Companion:
object
object DecSet
Companion:
class
final case class Discrete[A](value: A)

Marker wrapper meaning that any two distinct values of type Discrete[A] should be treated as incomparable. As a consequence, a value of type Discrete[A] cannot be refined to obtain a different value. Therefore, refinement is disallowed altogether by setting the Update type to an uninhabited type.

Marker wrapper meaning that any two distinct values of type Discrete[A] should be treated as incomparable. As a consequence, a value of type Discrete[A] cannot be refined to obtain a different value. Therefore, refinement is disallowed altogether by setting the Update type to an uninhabited type.

See also:

Revocable which in addition has a top element.

Promise which in addition has bottom and top elements.

Companion:
object
Companion:
class
final class IncSet[A] extends AnyVal

Increasing set. A wrapper for Set where a monotonic update is one that adds elements, e.g. by union with another set.

Increasing set. A wrapper for Set where a monotonic update is one that adds elements, e.g. by union with another set.

Companion:
object
object IncSet
Companion:
class
class IncSets[F[_], Var[_], Val[_]](implicit P: Aux1[F, Var, Val])
final case class Lexicographic[A, B](_1: A, _2: B)
Companion:
object
Companion:
class
sealed trait Promise[+A]

For any type A, Promise[A] is a bounded lattice on the set A ⊔ {0, 1} (where "⊔" means "disjoint union") with 0 being the least element, 1 being the greatest element, and all elements of A forming an antichain (i.e. mutually incomparable). 0 represents an empty (incomplete) promise, the elements of A represent a completed promise, and 1 represents a conflict (a promise completed multiple times with different values).

For any type A, Promise[A] is a bounded lattice on the set A ⊔ {0, 1} (where "⊔" means "disjoint union") with 0 being the least element, 1 being the greatest element, and all elements of A forming an antichain (i.e. mutually incomparable). 0 represents an empty (incomplete) promise, the elements of A represent a completed promise, and 1 represents a conflict (a promise completed multiple times with different values).

See also:
Companion:
object
object Promise
Companion:
class
sealed trait PromiseOnce[+A]

Like Promise, but it is a conflict to complete a PromiseOnce twice, regardless of the value it is completed with.

Like Promise, but it is a conflict to complete a PromiseOnce twice, regardless of the value it is completed with.

See also:
Companion:
object
Companion:
class
object Promises

Convenience methods to work with promises.

Convenience methods to work with promises.

sealed trait Revocable[+A]

Represents a discrete (non-refinable) value that can be revoked. Is isomorphic to Closeable[Discrete[A]].

Represents a discrete (non-refinable) value that can be revoked. Is isomorphic to Closeable[Discrete[A]].

See also:
Companion:
object
object Revocable
Companion:
class
case class Tupled2[A, B, Ref[_]]() extends Rel3[Ref[A], Ref[B], Ref[(A, B)]]

Product of two cells.

Product of two cells.

The flow is unidirectional, from factors to the product, but not the other way around.

Queries have to specify a superset of either both factors, or the result. A query that specifies just one factor doesn't uniquely determine the types of the other columns, and therefore is not considered type-safe.

Companion:
object
object Tupled2
Companion:
class
object intMax
object listLog

Convenience methods to work with a list as a prepend-only log. Monotonic update is prepending an element to the list. A diff is a list of appended elements.

Convenience methods to work with a list as a prepend-only log. Monotonic update is prepending an element to the list. A diff is a list of appended elements.

Note: updates to log are neither idempotent nor commutative, as is required by Dom.update, so don't base any business logic on it.