Rete.Network.Node.Accumulate (Rete v0.2.0)

Copy Markdown View Source

A collection binding: gathers every element matching the token into a list.

:propagates_empty? records the empty-collection rule. A pattern that introduces no new variables has every variable fixed by the token. So it has exactly one group, and it propagates [] when nothing matches. A pattern that introduces one groups by it instead, and a group exists only where a fact created it — so there is no empty group to propagate.

Summary

Types

t()

@type t() :: %Rete.Network.Node.Accumulate{
  alpha_code: atom(),
  coll_binding: atom() | nil,
  id: non_neg_integer() | nil,
  join_bind: [atom()],
  new_bind: [atom()],
  propagates_empty?: boolean(),
  type: atom()
}