Experimental/internal API for 0.2; subject to change before 0.3. Complete metadata package for a compiled equation definition.
Summary
Functions
Stores a compiled equation definition in the kernel environment.
Builds a definition spec from a compiler result and final wrapped value.
Converts a definition spec to stored equation metadata.
Builds and validates a compiled equation definition specification.
Types
@type t() :: %Theoria.Equation.Definition.Spec{ clauses: [Theoria.Equation.Clause.t()], fixed_params: Theoria.Equation.FixedParams.t(), level_params: [atom()], matcher: Theoria.Equation.Matcher.Info.t() | nil, name: atom(), rec_arg_pos: non_neg_integer() | nil, schema: Theoria.Equation.Schema.t() | nil, type: Theoria.Term.t(), value: Theoria.Term.t() }
Functions
@spec add_to_env(Theoria.Env.t(), t()) :: {:ok, Theoria.Env.t()} | {:error, Theoria.Error.t()}
Stores a compiled equation definition in the kernel environment.
@spec from_compiled( atom(), Theoria.Term.t(), Theoria.Term.t(), Theoria.Equation.Compiled.t(), keyword() ) :: {:ok, t()} | {:error, term()}
Builds a definition spec from a compiler result and final wrapped value.
@spec info(t()) :: Theoria.Equation.Info.t()
Converts a definition spec to stored equation metadata.
@spec new(atom(), Theoria.Term.t(), Theoria.Term.t(), keyword()) :: {:ok, t()} | {:error, term()}
Builds and validates a compiled equation definition specification.