Rete.Network.Node.ExprJoin (Rete v0.1.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, e.g. {:order, amt} when amt > t. :filter is arity 2, (token_bindings, fact_bindings) -> boolean, and 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()
}