Ruler.State (Ruler v0.1.0) View Source

Link to this section Summary

Link to this section Types

Specs

activation_event() ::
  {:activate, Ruler.Activation.t()} | {:deactivate, Ruler.Activation.t()}

Specs

t() :: %Ruler.State{
  activation_nodes:
    Ruler.State.RefMap.t(:activation_node_ref, Ruler.State.ActivationNode.t()),
  alpha_memories:
    Ruler.State.RefMap.t(:alpha_memory_ref, Ruler.State.AlphaMemory.t()),
  beta_memories:
    Ruler.State.RefMap.t(:beta_memory_ref, Ruler.State.BetaMemory.t()),
  committed_activations: MapSet.t(Ruler.Activation.t()),
  constant_test_nodes:
    Ruler.State.RefMap.t(
      :constant_test_node_ref,
      Ruler.State.ConstantTestNode.t()
    ),
  facts: %{required(Ruler.Fact.t()) => Ruler.State.FactInfo.t()},
  join_nodes: Ruler.State.RefMap.t(:join_node_ref, Ruler.State.JoinNode.t()),
  production_nodes: %{
    required(Ruler.State.ProductionNode.ref()) => Ruler.State.ProductionNode.t()
  },
  proposed_activations: MapSet.t(Ruler.Activation.t()),
  rules: %{required(Ruler.Rule.id()) => Ruler.Rule.t()}
}

Link to this section Functions

Specs

conflict_set(t()) :: MapSet.t(activation_event())

Specs

new() :: t()