nutcracker
package nutcracker
- Alphabetic
- By Inheritance
- nutcracker
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- sealed trait Alternator extends AnyRef
- sealed trait Assessment[+U] extends AnyRef
- U
description of unresolved things
- final case class Assignment[L <: HList] extends AnyVal with Product with Serializable
- trait BranchingPropagation[M[_], Var[_], Val[_]] extends AnyRef
- abstract class Constraint[L <: HList, K[_]] extends AnyRef
- trait CostApi[M[_]] extends AnyRef
- trait Defer[M[_], D] extends AnyRef
- trait Dom[D] extends IDom[D]
- trait DomWithBottom[D] extends Dom[D]
- trait Final[D] extends AnyRef
Typeclass for domains that have (some) "_final_" elements, i.e.
Typeclass for domains that have (some) "_final_" elements, i.e. elements that cannot be refined further without reaching a contradiction. In other words, typeclass for domains that have elements _covered_ by top.
- trait IDom[D] extends AnyRef
- trait JoinDom[D] extends SyncDom[D]
Typeclass for domains that are join-semilattices.
- trait Observable[M[_], A] extends Observers[M]
Can be observed for changes to a (mutable) value of type
A
, under effectsM
.Can be observed for changes to a (mutable) value of type
A
, under effectsM
. Can be seen as anF[A]
bundled with an instance ofObserve[M, F]
, for someF[_]
. - trait Observe[M[_]] extends Observers[M]
If we are allowed effects
M
, thenVal[A]
can be observed for changes to a (mutable) value of typeA
(for anyA
). - final class ObserveSyntaxHelper[M[_], A, U, Δ, Tr[_, _]] extends AnyRef
- type ObserveVal[M[_], Val0[_]] = Observe[M] { type Val[A] = Val0[A] }
- trait Observers[M[_]] extends AnyRef
- trait OnDemandPropagation[M[_], Var[_], Val[_]] extends Propagation[M, Var, Val]
- case class OrientedPattern[V <: HList, L <: HList] extends Product with Serializable
- case class PartiallyAssignedOrientedPattern[V <: HList, L <: HList](pattern: OrientedPattern[V, L], assignment: Assignment[V]) extends Product with Serializable
- case class PartiallyAssignedPattern[V <: HList](pattern: Pattern[V], assignment: Assignment[V]) extends Product with Serializable
- sealed trait Pattern[V <: HList] extends AnyRef
- trait Propagation[M[_], Var[_], Val0[_]] extends Observe[M]
- trait RDom[D] extends SyncDom[D]
A domain whose deltas can be turned back into updates.
- abstract class Recipe[L <: HList, C <: HList, M[_]] extends AnyRef
- trait Rel[L <: HList] extends AnyRef
N-ary relation (where N is determined by
L
).N-ary relation (where N is determined by
L
). Loosely speaking, it represents the signature of a database table, i.e. the datatypes of the columns.An implementation
MyRel[A, B] extends Rel[F[A, B]]
must ensure that- if
(rel1: MyRel[T, U]) == (rel2: MyRel[V, W])
, i.e. two values ofMyRel
with different types are equal, then- for all
row1: F[T, U]
,row2: F[V, W]
row1 == row2
⇒F[T, U] =:= F[V, W]
- for all
In other words, the table signature can be somewhat parametric, as long as the actual row values cannot be mistakenly thought to be of a different type.
Moreover, queries have to specify values of enough columns, so that the types of the remaining columns are uniquely determined by the types of the given columns.
- L
constituents of this relation.
- if
- final case class RelChoice[V <: HList, L <: HList](rel: Rel[L], choose: Choose[V, L]) extends Product with Serializable
- trait RelObservable[F[_], A] extends AnyRef
Relative Observable: whenever
Observe[M, F]
, then this can be converted toObservable[M, A]
. - trait RelObserve[F[_], G[_]] extends AnyRef
Relative Observe: whenever
ObserveVal[M, F]
for some effectM[_]
, then alsoObserveVal[M, G]
, for the same effectM
. - trait Relations[M[_]] extends AnyRef
- trait RelativelyComplementedDom[D] extends JoinDom[D]
Typeclass for domains that are relatively complemented lattices.
- trait Splittable[D] extends Dom[D]
- trait SplittableDomWithBottom[D] extends Splittable[D] with DomWithBottom[D]
- trait SplittableJoinDom[D] extends JoinDom[D] with Splittable[D]
- final class Subscription[K[_]] extends AnyVal
- trait SyncDom[D] extends Dom[D]
- trait TerminalDom[D] extends Dom[D]
Domain whose values can be artificially caused to fail.
- sealed trait TriggerF[F[_], D, Δ, A] extends AnyRef
- case class Unchanged[D, Δ[_, _], D0]() extends UpdateResult[D, Δ, D0] with Product with Serializable
- sealed abstract class UpdateResult[D, Δ[_, _], D0] extends AnyRef
- case class Updated[D, Δ[_, _], D0, D1 <: D](newValue: D1, delta: Δ[D0, D1]) extends UpdateResult[D, Δ, D0] with Product with Serializable
Value Members
- object Alternator
- object Assessment
- object Assignment extends Serializable
- object BranchingPropagation
- object CostApi
- object Dom
- object DomWithBottom
- object Final
- object IDom
- object JoinDom
- object Observable
- object Observers
- object OrientedPattern extends Serializable
- object Pattern
- object Propagation
- object RDom
- object Rel
- object RelObservable
- object Relations
- object RelativelyComplementedDom
- object Splittable
- object SplittableDomWithBottom
- object SplittableJoinDom
- object Subscription
- object TriggerF
- object UpdateResult