Experimental/internal API for 0.2; subject to change before 0.3. Internal builder for equation schemas and matcher metadata from signatures and case templates.
Summary
Functions
Builds and validates a schema from a signature and schematic case templates.
Builds matcher metadata from a validated signature schema.
Derives simple overlap metadata from duplicate equation alternatives.
Functions
@spec build(Theoria.Equation.Signature.t(), [Theoria.Equation.Case.Template.t()]) :: {:ok, Theoria.Equation.Schema.t()} | {:error, term()}
Builds and validates a schema from a signature and schematic case templates.
@spec matcher(Theoria.Equation.Signature.t(), Theoria.Equation.Schema.t()) :: Theoria.Equation.Matcher.Info.t()
Builds matcher metadata from a validated signature schema.
@spec overlaps(Theoria.Equation.Schema.t()) :: %{ optional(non_neg_integer()) => [non_neg_integer()] }
Derives simple overlap metadata from duplicate equation alternatives.