ExDatalog.IR.Callback (ExDatalog v0.5.0)

Copy Markdown View Source

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

t()

@type t() :: %ExDatalog.IR.Callback{
  args: [ExDatalog.IR.ir_term()],
  function: atom(),
  module: module(),
  result: ExDatalog.IR.ir_term() | nil
}

Functions

serialize(callback)

@spec serialize(t()) :: map()