Recursor rule shape used by matcher descriptor generation.
Summary
Types
@type t() :: %Theoria.Equation.Recursor.Descriptor.Rule{ constructor: atom(), constructor_metadata: Theoria.Env.Constructor.t() | nil, field_count: non_neg_integer(), fields: [Theoria.Equation.Recursor.Descriptor.Rule.Field.t()], index_patterns: [Theoria.Term.t()], recursive_fields: [Theoria.Equation.Recursor.Descriptor.Rule.Field.t()], rhs: Theoria.Term.t() }
Functions
@spec from_recursor_rule( Theoria.Env.RecursorRule.t(), Theoria.Env.Constructor.t() | nil, [ Theoria.Equation.Recursor.Descriptor.Rule.Field.t() ] ) :: t()