An IR callback predicate: an Elixir function invoked during evaluation.
args are IR terms resolved by variable name against the binding at
evaluation time. result is nil for boolean (filter) callbacks, or
{:var, name} for value-returning callbacks that bind a result variable.
Summary
Types
@type t() :: %ExDatalog.IR.Callback{ args: [ExDatalog.IR.ir_term()], function: atom(), module: module(), result: ExDatalog.IR.ir_term() | nil }