Experimental/internal API for 0.2; subject to change before 0.3. A constructor equation clause.
Summary
Types
@type body() :: Theoria.Term.t() | (Theoria.Equation.Context.t() -> Theoria.Term.t())
@type t() :: %Theoria.Equation.Clause{ binders: [atom()], body: body(), patterns: [Theoria.Equation.Pattern.t()] }
Functions
@spec materialize(t(), Theoria.Equation.Context.t()) :: Theoria.Term.t()
Materializes a clause body against a named equation context.
@spec new([Theoria.Equation.Pattern.t()], body(), keyword()) :: t()
Builds an equation clause.