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

Copy Markdown View Source

A hash join plus a filter that needs the token and the fact together.

Produced when a per-condition guard reads a variable bound upstream — for example, {:order, amt} when amt > t. :filter is arity 2: (token_bindings, fact_bindings) -> boolean. It runs only on candidates that already agree on :join_bind.

Summary

Types

t()

@type t() :: %Rete.Network.Node.ExprJoin{
  alpha_code: atom(),
  fact_binding: atom() | nil,
  filter: fun(),
  filter_code: atom(),
  id: non_neg_integer() | nil,
  join_bind: [atom()],
  new_bind: [atom()],
  type: atom()
}